[python] [pygtk] Global grab

regnarG regnarg na seznam.cz
Sobota Červen 30 07:43:36 CEST 2007


Jan Martinek napsal(a):
> 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
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>   
Přesně tohle jsem potřeboval. Mnohokrát děkuji !!

-- 

                                                  regnarG
http://regnarg.kx.cz



Další informace o konferenci Python