在Linux上使用pygtk(gtk.gdk)在桌面/根窗口上键盘/鼠标事件
正如标题所述,我试图用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