Как я могу отслеживать события мыши с помощью Python Xlib вместо их захвата? - PullRequest
1 голос
/ 06 апреля 2010

Мне нужно отслеживать и фильтровать события мыши с помощью 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, и я не могу понять, как это работает.

Ответы [ 2 ]

2 голосов
/ 26 сентября 2010

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

0 голосов
/ 12 апреля 2010

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

...