XFree86 4.3 a ceska klavesnice

Kamil Toman ktoman na email.cz
Úterý Květen 13 19:36:17 CEST 2003


On Mon, 14 Apr 2003 12:33:33 +0200, Jiri Mares wrote:

>>Chci se tedy zeptat, zda zapomenout na psani $, % pri prepnuti na ceskou 
>>klavesnici, ci jak to nastavit aby to fungovalo. Dekuji za jakekoliv 
>>nakopnuti.
> Jenze jsem o nem jic nenasel :-(
> Psalo se o nem, ze to nefunguje, nebo ze to nejak jde?
>> 
>> Myslim, ze je to znamy problem, o kterem se zde jiz psalo.

Problem vznika v XFree86 4.3, pokud clovek pouziva vic map soucasne.
Nevezi to ani tak ve vlastnim Xserveru jako spis v otazce, jak klienti
interpretuji jednotlive bity X-protokolu v navaznosti na tabulky map
Xserveru.

Klasicke chovani je takove, ze nektere bity prenesane klavesove udalosti
jsou "nadratovane" (shift,...) a zbytek jsou obecne Mod1-Mod5. Aplikace
ale vesmes vyzaduji reakci na zmacknuti "meta-klaves" neco jako alt,
super, hyper, meta a podobnych modifikatoru. Ty hledaji pomoci prochazeni
tabulek serveru na specialni symbol (treba Super_L atp.) -- tj. takhle
postaru si zjisti, ktery bit udalosti si maji hlidat.

Problem je v tom, ze rozsireni XKB nedefinuje zadny specialni prikaz na
prirazovani takovych "meta-modifikatoru" k virtualnim, potazmo realnym
modifikatorum. Modifikatory se bohuzel vazou automaticky, pokud se jde
pres stejny kod klavesy. To znamena, ze se da dojit k situaci, kdy jedna
skutecna klavesa ma v tabulkach prirazeno vice symbolu modifikatoru.
Pripad praveho alt: jeden klavesovy kod ma prirazeno vic modifikatoru --
muze se chovat jako alt (us) nebo jako "treti zdvih" (tj. takovy ten
podivny druhy shift, altgr). Bohuzel vetsina klientu se pri takove
konfiguraci zacne chovat dost nepredvidatelne. Api v xlib pro preklad
modifikatoru taky neexistuje, takze naprava je mozna je dalsi restrikci
konfigurace xkb, aby k tomu nedochazelo (oprava vsech klientu a toolkitu
proste mozna neni).

Jinak problem by mel byt vicemene vyresen (tag HEAD, aktualni cvs)
a melo by to byt i soucasti bugfix verze 4.3.1.

--
Kamil Toman



Další informace o konferenci Linux