我需要在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的记录扩展,我不知道它是如何工作的。
发布于 2010-04-12 22:47:53
答案似乎是使用带有记录的Xlib,结果可以在这里看到:http://github.com/pepijndevos/PyMouse/blob/master/unix.py#L38
发布于 2010-09-27 03:19:03
链接已断开。我想这是最新的:http://github.com/pepijndevos/PyMouse/blob/master/pymouse/unix.py 58号线
https://stackoverflow.com/questions/2585647
复制相似问题