我想创建一个按键记录器,它将侦听按键'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 False
with Listener(on_press=on_press,on_release=on_release) as listener:
listener.join()如何检查是否按下了特定的键,并将其添加到keys_pressed列表中?
发布于 2020-08-27 05:18:02
您可以使用KeyCode.from_char(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()https://stackoverflow.com/questions/63605503
复制相似问题