Как я могу отслеживать события мыши с помощью Python Xlib вместо их захвата?

Мне нужно отслеживать и фильтровать события мыши с помощью Xlib в Python.

На данный момент я выяснил, что этот код получает события, но не передает их, поэтому я больше не могу ничего делать с мышью.

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)

Который вообще не работает или использует расширение RECORD для Xlib, которое я не могу понять, как оно работает.


person Pepijn    schedule 06.04.2010    source источник


Ответы (2)


Ссылка была сломана. Я думаю, что это последний: http://github.com/pepijndevos/PyMouse/blob/master/pymouse/unix.py Строка 58

person Lmwangi    schedule 26.09.2010

Казалось, что ответ заключается в использовании Xlib с RECORD, результат можно увидеть здесь: http://github.com/pepijndevos/PyMouse/blob/master/unix.py#L38

person Pepijn    schedule 12.04.2010