python利用 keyboard 庫(kù)記錄鍵盤(pán)事件
今天也不知道是想了什么,突然就想要試試看我有效擊鍵時(shí)的手速到底有多快。為此,需要記錄下來(lái)?yè)翩I的記錄。于是找到了 Python 的 keyboard 庫(kù)。
安裝非常簡(jiǎn)單,只需執(zhí)行 pip install keyboard 即可。
鍵盤(pán)事件錄制
保存并執(zhí)行如下代碼
import keyboardimport timekeyboard.hook(lambda e: print(e, time.clock()))keyboard.wait(’Ctrl’)
這里,我們利用 keyboard.hook 為每個(gè)鍵盤(pán)事件下鉤子,并且執(zhí)行其中的 lambda 函數(shù)。keyboard.wait() 的作用是阻塞進(jìn)程,直到按下 Ctrl 鍵。
測(cè)試結(jié)果如下:
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
從中可見(jiàn),在敲下 git push<enter> 這條命令的過(guò)程中,發(fā)生了多次擊鍵交錯(cuò)的現(xiàn)象(即上一個(gè)按鍵還未完全彈起,下一個(gè)按鍵就已經(jīng)觸發(fā))。這是在高速擊鍵時(shí)很常見(jiàn)的現(xiàn)象。此外,輸入到執(zhí)行這條命令,總共花費(fèi)了不到 0.5 s 的時(shí)間,不愧曾經(jīng)單身多年 ←_←。
熱鍵捕獲綁定
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 庫(kù)記錄鍵盤(pán)事件的詳細(xì)內(nèi)容,更多關(guān)于python 記錄鍵盤(pán)事件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)2. JavaScript中的AOP編程的基本實(shí)現(xiàn)3. PHP VS ASP4. 淺談JavaScript中等號(hào)、雙等號(hào)、 三等號(hào)的區(qū)別5. Python如何進(jìn)行時(shí)間處理6. Spring security 自定義過(guò)濾器實(shí)現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實(shí)例代碼)7. python裝飾器三種裝飾模式的簡(jiǎn)單分析8. 詳解Python模塊化編程與裝飾器9. JavaScript Reduce使用詳解10. 詳解JS ES6編碼規(guī)范
