python - Python测量按键之间的时间以及按键和按键释放之间的时间
问题描述
我正在尝试测量按键之间的时间以及按键和按键释放之间的时间。这是我到目前为止的代码:
import pynput
from pynput.keyboard import Key, Listener
import time
import threading
key_pressed_twice = True
key_is_pressed = False
startPressed = time.time()
key_pressed_list = []
key_released_list = []
def on_press(key):
global key_is_pressed
global startRelease
global key_pressed_twice
global startPressed
key_pressed_twice = not key_pressed_twice
if(key_pressed_twice):
endPressed = time.time()
miliSeconds = '%.1f' % ((endPressed-startPressed)*1000)
#writeToFile(miliSeconds,"pressed.txt")
key_pressed_list.append(miliSeconds + ", ")
startPressed = time.time()
if key_is_pressed == False:
startRelease = time.time()
key_is_pressed = True
def on_release(key):
global key_is_pressed
global endRelease
global startRelease
key_is_pressed = False
endRelease = time.time()
miliSeconds = '%.1f' % ((endRelease-startRelease)*1000)
print(miliSeconds)
key_released_list.append(miliSeconds + ", ")
if key == Key.esc:
writeToFile(key_released_list,"release.txt")
writeToFile(key_pressed_list,"pressed.txt")
return False
def writeToFile(tempList,filename):
with open(filename, "a") as file:
file.write("".join(tempList))
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
我遇到的问题是按键之间的时间似乎很遥远。如果我敲击键,我会得到大约 300 毫秒的延迟。自从我向密钥发送垃圾邮件以来,这似乎已经很久了。所以有人知道可能出了什么问题吗?
编辑:减少文件输入,时间似乎仍然关闭。
解决方案
推荐阅读
- javascript - 如何在 react js 中动态生成 javascript 文件?
- json - T-SQL - ODSOLE 扩展过程为该字符串或二进制列或参数指定的源数据太长
- scala - 请求成功时获取“HTTP方法不允许,支持的方法:GET”
- oracle - oracle apex 开发者工具栏说明
- python - 在 python 中转换 Postman/newman 收集请求
- python - 当 Tensorflow 2.2 加载具有 NumericColumn 的 2.1 模型时,会抛出“KeyError: 'partitioner'”
- c - 即使我的条件得到验证,为什么不返回 true
- r - rasterFromXYZ 警告:数据长度不是行数的约数或倍数
- javascript - 如何在全日历中查看基于月份的数据
- angular - Ionic 3 - 带有标题的 Angular Post 不起作用