1. 程式人生 > 程式設計 >python利用 keyboard 庫記錄鍵盤事件

python利用 keyboard 庫記錄鍵盤事件

今天也不知道是想了什麼,突然就想要試試看我有效擊鍵時的手速到底有多快。為此,需要記錄下來擊鍵的記錄。於是找到了 Python 的 keyboard 庫。

安裝非常簡單,只需執行 pip install keyboard 即可。

鍵盤事件錄製

儲存並執行如下程式碼

import keyboard
import time

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

這裡,我們利用 keyboard.hook 為每個鍵盤事件下鉤子,並且執行其中的 lambda 函式。keyboard.wait()

的作用是阻塞程序,直到按下 Ctrl 鍵。

測試結果如下:

KeyboardEvent(g down) 4.450576466
KeyboardEvent(g up) 4.505627652
KeyboardEvent(i down) 4.510628277
KeyboardEvent(t down) 4.570555791
KeyboardEvent(i up) 4.580582066
KeyboardEvent(space down) 4.581583136
KeyboardEvent(p down) 4.630656009
KeyboardEvent(t up) 4.671189791
KeyboardEvent(space up) 4.693182730
KeyboardEvent(p up) 4.705543556
KeyboardEvent(u down) 4.705867633
KeyboardEvent(s down) 4.730623806
KeyboardEvent(u up) 4.750832241
KeyboardEvent(s up) 4.795770594
KeyboardEvent(h down) 4.810543976
KeyboardEvent(h up) 4.86056459
KeyboardEvent(enter down) 4.920739469
KeyboardEvent(enter up) 4.930514276
KeyboardEvent(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 記錄鍵盤事件的資料請關注我們其它相關文章!