OT: zacyceni stisku klavesy neaktivni GTK aplikaci
Michal Krause
michal na krause.cz
Pondělí Duben 2 22:19:03 CEST 2001
On 02/04/2001, Lubos Lunak wrote:
> Ten event asi bude pro root okno, ale ta aplikace ho dostane, jen si to
> musi ten kod spravne odchytit ( viz. KGlobalAccelPrivate ). Pak se musi ten
> event spravne osetrit ( viz. KGlobalAccel::x11EventFilter() ). Kousne se to
> proto, protoze v tom osetreni asi chybi povoleni dalsiho vstupu. Myslim, ze
> zkratka pouzit jen kod KGlobalAccelPrivate, KGlobalAccel::grabKey(),
> KGlobalAccel::ungrabKey() a KGlobalAccel::x11EventFilter() musi stacit.
> Jinak jestli to tedy z nejakeho divneho duvodu nepujde, tak bych pripadne
> doporucil to vytahnout z nejakeho Gnome programu ( prece to tam musi aspon
> neco pouzivat, treba to menu s otiskem tlapy na panelu - v KDE se takhle
> KGlobalAccel pouziva na takovych veci ) nebo nejakeho WM ( i kdyz tedy
> nevim, jestli nejaky WM pouziva Gtk+ ).
Diky za info, ja si to pak v klidu prozkoumam.
> Nebo bych jako nouzovy plan pripadne zkusil prelozil Klipper se
> staticky prelozenymi kdelibs a pak ho poustet 'klipper --nofork', at
> nepousti KDE daemony dcopserver & spol.
Ne, dekuji :) Radeji dotahnu tohle...
> > Zajimave je, ze funkce XGrabKeyboard funguje presne podle mych
> > predstav, jenomze ta zase neumoznuje zachytavat jenom zvolenou
> > klavesu/kombinaci klaves.
>
> Jestli se nepletu, tak XGrabKey() zafunguje stejne jako
> XGrabKeyboard(), sotva bude stisknuta ta dana kl. kombinace.
Neni to pravda. XGrabKeyboard()u dam jako parametr svoje okno a vysledek
je ten, ze toto okno pak obdrzi key_press event pokazde, kdyz zmacknu
libovolnou klavesu v libovolnem okne. Naopak kdyz dam XGrabKey() jako
parametr moje okno, nedeje se navenek nic, a to ani pri pouziti AnyKey a
AnyModifier. Pokud misto meho okna dam root okno, zacne to skutecne
klavesy chytat, ale jak jsem uz psal, nepropadne to do meho okna (coz
mozna vyresi to nastaveni, o kterem pisete vyse).
S pozdravem
--
Michal Krause /\
ICQ: 7665279 Informace (nejenom) ze sveta Linuxu /\/ \
email: michal na krause.cz _______ http://www.root.cz/ _______ NAVRCHOLU.cz
Vseci by chceli byt van Goghmi, ale odrezat si ucho ani jeden.
J. Raz ve filmu Rabaka
Další informace o konferenci Linux