如何使用Python Xlib监控鼠标事件而不是捕获它们?
我需要在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扩展,但我搞不懂它是怎么工作的。
2 个回答
2
这个链接坏掉了。我觉得这是最新的链接:http://github.com/pepijndevos/PyMouse/blob/master/pymouse/unix.py 第58行
0
这个回答的意思是可以使用Xlib和RECORD,具体的结果可以在这里看到:http://github.com/pepijndevos/PyMouse/blob/master/unix.py#L38