猿问

使用 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列表中?


繁星淼淼
浏览 174回答 1
1回答

精慕HU

您可以使用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 Falsewith Listener(on_press=on_press,on_release=on_release) as listener:    listener.join()
随时随地看视频慕课网APP

相关分类

Python
我要回答