[python] [pygtk] Global grab
Jan Martinek
honza na dp.fce.vutbr.cz
Sobota Červen 30 02:44:13 CEST 2007
regnarG wrote:
> Mám následující problém, který se mi nepodařilo vyřešit ani po půlhodině
> googlování. Potřebuji v PyGtk provést globální grab, tj. omezit veškerý
> vstup kláves v rámci systému na jedno okno, jako to dělá např.
> XScreenSaver nebo gksu. Zkoušel jsem gtk.gdk.keyboard_grab(w.window, 1,
> 0), ale bezúspěšně. Existuje nějaké řešení ?
>
Zkus tohle (program bych nazval "napínavých deset sekund"):
#!/usr/bin/python
import gtk, gobject
def konec(entry):
gtk.gdk.keyboard_ungrab()
gtk.main_quit()
e = gtk.Entry()
e.show()
w = gtk.Window()
w.add(e)
w.show()
w.connect('destroy', gtk.main_quit)
def_win = gtk.gdk.get_default_root_window()
gtk.gdk.keyboard_grab(def_win, True)
gobject.timeout_add(10000, konec, e)
gtk.main()
Nevím proč, ale neukazuje se kurzor.
A když jsem si s tím hrál, tak jsem si dvakrát omylem zablokoval
klávesnici a musel restartovat Xka.
--
Jan Martinek
Další informace o konferenci Python