我需要在Python中使用Xlib监视和过滤鼠标事件。
到目前为止,我发现此代码接收事件,但未传递它们,因此我实际上无法再对鼠标执行任何操作。
from Xlib.display import Display
from Xlib import X
display = Display(':0')
root = display.screen().root
root.grab_pointer(True, X.ButtonPressMask | X.ButtonReleaseMask, X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime)
while True:
print "Event:"
print display.next_event()
我发现的替代品正在使用
root.change_attributes(event_mask=X.ButtonPressMask | X.ButtonReleaseMask)
根本不起作用或对Xlib使用RECORD扩展,我无法弄清楚它是如何工作的。
答案 0 :(得分:2)
链接被破坏了。我认为这是最新的一个:http://github.com/pepijndevos/PyMouse/blob/master/pymouse/unix.py第58行
答案 1 :(得分:0)
答案似乎是将Xlib与RECORD一起使用,结果可以在这里看到: http://github.com/pepijndevos/PyMouse/blob/master/unix.py#L38