Pyglet错误地将所有鼠标单击解释为左键单击

问题描述

我正在尝试在ubuntu 20.04上使用pyglet,并且代码正常工作,除了我在按住鼠标左键的情况下指定了鼠标拖动时的某些行为,(在按住中键或右键时会出现不同的行为),但是{{1 }}是正确的,即使它不是鼠标左键,我也在下面插入了一个代码段。

mouse.LEFT

感觉它可能是在Ubuntu上解释鼠标信号的错误/问题,但我真的不知道,我是pyglet的新手。

感谢阅读

解决方法

mouse.LEFTmouse.RIGHT是常量。您必须评估buttons参数中是否设置了特定位:

@window.event
def on_mouse_drag(x,y,dx,dy,buttons,modifiers):

    if buttons & mouse.LEFT:
        chart.x_offset += float(dx)
        chart.y_offset += float(dy)

    if buttons & mouse.RIGHT:
        chart.y_scale += dy

进一步查看pyglet - Working with the mouse