如何解决on_key_press() 事件阻塞 on_mouse_press() 和 on_mouse_motion() 事件 1 秒
所以我正在 Pyglet 中开发一个小游戏,我遇到了这种奇怪的行为,我不知道如何解决。看起来像是 Pyglet 错误,但奇怪的是我找不到其他用户报告此问题。
问题是在按下某个键后,如果我在按下该键后右击左键,该事件将被忽略。这是可重复的,总是。有趣的是,如果我右键单击,事件总是正常工作。只有左键单击是问题。按下任意键后,on_mouse_motion() 也会被阻止 1 秒。如果我不按任何键盘键,则所有鼠标事件都可以正常工作。
我已经用 Pyglet 版本 1.3.0、1.4.10 和 1.5.11 对此进行了测试,并且都具有相同的行为。我还在 2 台不同的计算机上对此进行了测试,行为是相同的。我还尝试了 Vsync ON 和 OFF 以及 pyglet 窗口独有的鼠标。使用 Windows 10 和 Python 3.7.4-64b。
这里是重现问题的简单代码,只需在1秒内按下一个键然后左键单击:
import pyglet
window = pyglet.window.Window()
@window.event
def on_key_press(symbol,modifiers):
print('A key was pressed')
@window.event
def on_mouse_press(x,y,button,modifiers):
print('Mouse event')
pyglet.app.run()
编辑:问题在于 Synaptics 触摸板,它被配置为在笔记本电脑上打字时禁用触摸板。
解决方法
问题似乎是 Synaptics 触摸板配置为在笔记本电脑上打字时禁用触摸板:
我将外接鼠标连接到笔记本电脑,问题就解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。