[python] pygtk, odchytávání událostí klávesnice a myši
Jan Martinek
honza na dp.fce.vutbr.cz
Pátek Srpen 18 13:04:19 CEST 2006
Ahoj, nevíte někdo, jak pomocí gtk zachytávat všechny události klávesnice a
pohyby myší? Když napíšu tohle
#!/usr/bin/env python
import gtk
def wakeup(widget, event):
print "Event number %d woke me up" % event.type
w = gtk.Window()
w.add_events(gtk.gdk.KEY_PRESS_MASK |
gtk.gdk.POINTER_MOTION_MASK |
gtk.gdk.BUTTON_PRESS_MASK |
gtk.gdk.SCROLL_MASK)
w.connect("motion-notify-event", wakeup)
w.connect("key-press-event", wakeup)
w.connect("button-press-event", wakeup)
w.connect("scroll-event", wakeup)
w.show()
gtk.main()
Tak to na stisky kláves reaguje pouze tehdy, když je okno aplikace aktivní.
A pohyby myši (a klikání) to zaregistruje jen když se kurzor myši nacházi
uvnitř okna.
Jak by se to dalo napsat, aby to zachytávalo všechno i když je hlavní okno
neaktivní/minimalizované/schované? Stačil by mi link na nějakou jednoduchou
aplikaci, která toto musí umět, například
- blbinky, co měří vzdálenost, kterou urazil kurzor myši
- prográmek, co upozorní uživatele, že už píše příliš dlouho a měl by si
odpočinout
- něco, co zjišťuje aktivitu/neaktivitu uživatele (různí IM klienti)
- koulející oči, které se stále otáčejí za kurzorem myši (xeyes)
- keyloggers - zlomyslné programy (jsou-li nějaké), co čenichají všechny
stisky kláves (hesla) a schovávají je do souboru.
- ???
Hledám něco, co je napsáno v čistém gtk bez přímého volání xlib.
Díky
Další informace o konferenci Python