我想創(chuàng)建一個(gè)按鍵記錄器,它會監(jiān)聽按鍵“w”“a”“s”“d”,每當(dāng)檢測到這些按鍵時(shí),就會將它們添加到列表中。到目前為止我有這段代碼from pynput.keyboard import *keys_pressed=[]def on_press(key): print(key)def on_release(key): if key==Key.esc: return Falsewith Listener(on_press=on_press,on_release=on_release) as listener: listener.join()如何檢查特定鍵是否被按下,并將其添加到keys_pressed列表中?
1 回答

精慕HU
TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以使用KeyCode.from_char(char)
從指定的字符獲取密鑰。所以KeyCode.from_char('w')
會返回 的密鑰w
。
然后,您可以將與 W、A、S 和 D 對應(yīng)的鍵存儲在列表或其他內(nèi)容中,并在回調(diào)中檢查按下的鍵是否等于其中之一。
這是一個(gè)例子:
from pynput.keyboard import *
keys = [KeyCode.from_char(c) for c in 'wasd']
def on_press(key):
? ? if key in keys:
? ? ? ? print(f'good key: {key}')
? ? else:
? ? ? ? print(f'bad key: {key}')
def on_release(key):
? ? if key==Key.esc:
? ? ? ? return False
with Listener(on_press=on_press,on_release=on_release) as listener:
? ? listener.join()
添加回答
舉報(bào)
0/150
提交
取消