如何解决使用Pynput键盘记录器监听特定的按键?
我想创建一个按键记录器,以监听按键“ 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列表中?
解决方法
您可以使用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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。