python利用 keyboard 库记录键盘事件

时间:2021-05-22

今天也不知道是想了什么,突然就想要试试看我有效击键时的手速到底有多快。为此,需要记录下来击键的记录。于是找到了 Python 的 keyboard 库。

安装非常简单,只需执行 pip install keyboard 即可。

键盘事件录制

保存并执行如下代码

import keyboardimport timekeyboard.hook(lambda e: print(e, time.clock()))keyboard.wait('Ctrl')

这里,我们利用 keyboard.hook 为每个键盘事件下钩子,并且执行其中的 lambda 函数。keyboard.wait() 的作用是阻塞进程,直到按下 Ctrl 键。

测试结果如下:

KeyboardEvent(g down) 4.450576466KeyboardEvent(g up) 4.505627652KeyboardEvent(i down) 4.510628277KeyboardEvent(t down) 4.570555791KeyboardEvent(i up) 4.580582066KeyboardEvent(space down) 4.581583136KeyboardEvent(p down) 4.630656009KeyboardEvent(t up) 4.671189791KeyboardEvent(space up) 4.693182730KeyboardEvent(p up) 4.705543556KeyboardEvent(u down) 4.705867633KeyboardEvent(s down) 4.730623806KeyboardEvent(u up) 4.750832241KeyboardEvent(s up) 4.795770594KeyboardEvent(h down) 4.810543976KeyboardEvent(h up) 4.86056459KeyboardEvent(enter down) 4.920739469KeyboardEvent(enter up) 4.930514276KeyboardEvent(ctrl down) 7.030813124

从中可见,在敲下 git push<enter> 这条命令的过程中,发生了多次击键交错的现象(即上一个按键还未完全弹起,下一个按键就已经触发)。这是在高速击键时很常见的现象。此外,输入到执行这条命令,总共花费了不到 0.5 s 的时间,不愧曾经单身多年 ←_←。

热键捕获绑定

import keyboard print('Press and release your desired hotkey: ')hotkey = keyboard.read_hotkey()print('Hotkey selected: ', hotkey) def on_triggered(): print("Triggered!") keyboard.add_hotkey(hotkey, on_triggered)print("Press ESC to stop.")

以上就是python利用 keyboard 库记录键盘事件的详细内容,更多关于python 记录键盘事件的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章