我想創建一個按鍵記錄器,它會監聽按鍵“w”“a”“s”“d”,每當檢測到這些按鍵時,就會將它們添加到列表中。到目前為止我有這段代碼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貢獻1845條經驗 獲得超8個贊
您可以使用KeyCode.from_char(char)
從指定的字符獲取密鑰。所以KeyCode.from_char('w')
會返回 的密鑰w
。
然后,您可以將與 W、A、S 和 D 對應的鍵存儲在列表或其他內容中,并在回調中檢查按下的鍵是否等于其中之一。
這是一個例子:
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()
添加回答
舉報
0/150
提交
取消