正如标题所述,我正在尝试使用 Python-gtk 捕获鼠标和键盘事件。
我可以使用 python-xlib 轻松做到这一点:
self.display = display.Display()
self.screen = self.display.screen()
self.root_window = self.screen.root
self.root_window.grab_pointer(1,
X.ButtonPressMask | X.ButtonReleaseMask | X.Button1MotionMask,
X.GrabModeAsync,
X.GrabModeAsync,
X.NONE, X.NONE,
X.CurrentTime)
self.root_window.grab_keyboard(1,
X.GrabModeAsync,
X.GrabModeAsync,
X.CurrentTime)
我看到使用 gtk.gdk.* 函数的模拟,但我似乎无法在主桌面窗口上捕获事件。这可以做到吗?
这就是我试图完成任务的方式......(ALL_EVENTS_MASK 是一种绝望的行为;])
self.root_window = gtk.gdk.get_default_root_window()
self.root_window.set_events(gtk.gdk.ALL_EVENTS_MASK)
gtk.gdk.event_handler_set(self.filter_callback)
gtk.main()
def filter_callback (self, *args):
print args