タイトルが示すように、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