在Python中使用Pynput检查特定密钥

时间:2018-12-09 15:29:32

标签: python key pynput

dpressed = 0

def on_press(key):

    if key == ('d'):
        global dpressed
        dpressed+=1
        logging.info("D: %s" % dpressed)

当我运行此代码并按d时,什么都没发生,我怀疑是因为在检查时需要将该键称为其他名称。有人知道应该是什么吗?

3 个答案:

答案 0 :(得分:1)

对于其他可能有此问题的人,我从顶部的pynput.keybord导入了KeyCode。然后我将('d')更改为KeyCode.from_char('d')。这应该适用于任何有此问题的人。 here

有一个很好的解释

答案 1 :(得分:0)

您有听众吗?

没有侦听器,代码将无法工作。 尝试在代码的最后添加此代码。

with Listener(
    on_press=on_press,
    on_release=on_release) as listener:
listener.join()

答案 2 :(得分:0)

您需要将密钥格式化为char格式,否则它将不等于特定字符。

尝试

if key.char == ('d'):

完整代码为:

dpressed = 0

def on_press(key):

    if key.char == ('d'):
        global dpressed
        dpressed+=1
        logging.info("D: %s" % dpressed)