我想创建一个按键记录器,它会监听按键“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
提交
取消