本文介绍了如何使用Python Xlib监视鼠标事件而不是捕获它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要使用Python中的Xlib来监视和过滤鼠标事件。
I need to monitor and filter mouse events with Xlib in Python.
到目前为止,我发现这个代码接收到事件但是没有传递它们,所以我实际上不能用鼠标做任何事情。
So far I have found out that this code receives events, but does not pass them on, so I can't actually do anything with the mouse anymore.
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()
我发现的替代方法是使用
Alternatives I found are using
root.change_attributes(event_mask=X.ButtonPressMask | X.ButtonReleaseMask)
哪个不起作用或使用RECORD扩展名到Xlib,我无法弄清楚它是如何工作的。
Which does not work at all or using the RECORD extension to Xlib, which I can't figure out how it works.
推荐答案
答案似乎是使用Xlib与REC ORD,结果可以在这里看到:
The answer seemed to be to use Xlib with RECORD, the result can be seen here:http://github.com/pepijndevos/PyMouse/blob/master/unix.py#L38
这篇关于如何使用Python Xlib监视鼠标事件而不是捕获它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!