Python on_key_press()事件阻止on_mouse_press()移动on_mouse_motion()事件1秒

Python on_key_press()事件阻止on_mouse_press()移动on_mouse_motion()事件1秒,python,pyglet,Python,Pyglet,所以我在Pyglet开发一个小游戏,我遇到了这种奇怪的行为,我不知道如何解决。这看起来像是一个Pyglet bug,但奇怪的是我找不到其他用户报告这个问题 问题是,在按下某个键后,如果我在按下该键后右键单击,则忽略该事件。这总是可以重复的。有趣的是,如果我右键单击,事件总是运行良好。只有左键点击才是问题所在。此外,在鼠标上,按下任何键后,鼠标的\u motion()会被阻止1秒。如果我不按任何键盘键,所有鼠标事件都可以正常工作 我用Pyglet版本1.3.0、1.4.10和1.5.11测试了这一

所以我在Pyglet开发一个小游戏,我遇到了这种奇怪的行为,我不知道如何解决。这看起来像是一个Pyglet bug,但奇怪的是我找不到其他用户报告这个问题

问题是,在按下某个键后,如果我在按下该键后右键单击,则忽略该事件。这总是可以重复的。有趣的是,如果我右键单击,事件总是运行良好。只有左键点击才是问题所在。此外,在鼠标上,按下任何键后,鼠标的\u motion()会被阻止1秒。如果我不按任何键盘键,所有鼠标事件都可以正常工作

我用Pyglet版本1.3.0、1.4.10和1.5.11测试了这一点,所有版本都有相同的行为。我也在两台不同的计算机上测试了这个,行为是一样的。我还尝试过打开和关闭Vsync,以及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 touchpad。

问题似乎是配置为在笔记本电脑上键入时禁用触摸板的Synaptics touchpad:


我将外部鼠标连接到笔记本电脑,问题消失了。

问题似乎是Synaptics touchpad,它被配置为在笔记本电脑上键入时禁用触摸板:


我将一个外部鼠标连接到笔记本电脑,问题就解决了。

无法在Mac上使用Python 3.9.1和pyglet-1.5.13进行复制。无法在Windows 10上使用Python 3.9.0和pyglet 1.5.13进行复制。只需将Anaconda升级到最新版本,将Python版本升级到3.9.1,将pyglet升级到1.5.13,行为相同。。。您使用的是蟒蛇还是普通Python?。。。普通Python(Visual Studio代码)的问题是笔记本电脑触摸板,外部鼠标工作。。。感谢您的输入…无法在Mac上使用Python 3.9.1和pyglet-1.5.13进行复制。无法使用Windows 10 Python 3.9.0和pyglet 1.5.13进行复制。只需将Anaconda升级到最新版本,将Python版本升级到3.9.1,将pyglet升级到1.5.13,行为相同。。。您使用的是蟒蛇还是普通Python?。。。普通Python(Visual Studio代码)的问题是笔记本电脑触摸板,外部鼠标工作。。。谢谢你的投入。。。