Pynput Listener 未调用 on_press 函数

问题描述 投票:0回答:1

我正在使用

pynput.keyboard.Listener
来监听键盘输入。尽管线程正在运行,但在启动侦听器线程后,传递给其
on_press
on_release
参数的函数永远不会被调用(使用其
ìs_alive()
方法检查)。

pynput 文档也给出了一个最小的示例(用于非阻塞操作):

import pynput.keyboard as kb

def say(key):
    print(key)

lis=kb.Listener(on_press=say, on_release=say)
lis.start()

while True:
    pass

函数

say
永远不会被调用,无论是按下还是释放任何键。 启动后
lis.is_alive()
返回
True
。 没有显示错误或引发异常。 使用
lis.join()
运行监听器阻塞也没有帮助。

python python-3.x keyboard-events keylistener pynput
1个回答
0
投票

通过在 Ubuntu 22.04 机器上从 Wayland 切换到 X11 解决了该问题。

使用 Wayland 时,

Listener
显然没有记录过按键操作。

© www.soinside.com 2019 - 2024. All rights reserved.