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