xkbcomp (was: setxkbmap)


To czdebian-l zavinac debian bod cz
From Petr Heřman <ph zavinac lf2 bod cuni bod cz>
Date Sun, 11 Feb 2007 00:52:44 +0100
Mail-followup-to czdebian-l zavinac debian bod cz
User-agent Mutt/1.5.13 (2006-08-11)

Mám etch, 2.6.16-2-k7, X Window System Version 7.1.1

A už mi z toho pomalu začíná hrabat. 4 mesice jsem čekal, jestli
se třeba nebude jednat o nějaký bug, který se časem opraví,
ale marně....

Zkrátka si nadefinuju nějakou klávesovou mapu, řekněme cz_robot.
Ještě mi není jasné,jestli se má uložit do /etc/X11/xkb/symbols
nebo do /etc/X11/xkb/symbols/pc, protože např. mapy cz_qwerty
jsou v obou adresářích a trochu se liší. Ale zkouším to tak i tak.

"Zázračný" příkaz
 xkbcomp -llphfR -o ../symbols.dir .
vygeneruje /etc/X11/xkb/symbols.dir, anebo tam tu mapu mohu přidat
také ručně. A pak:

$ setxkbmap -v 10 cz_robot
Setting verbose level to 10
locale is C
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Applied rules from xorg:
model:      pc104
layout:     cz_robot
Trying to build keymap using the following components:
keycodes:   xfree86+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc(pc105)+cz_robot
geometry:   pc(pc104)
Error loading new keyboard description

Zkusím to tedy po kouskách:

setxkbmap -print cz_robot > cz_robot.xkb

cat cz_robot.xkb

xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc(pc105)+cz_robot"    };
        xkb_geometry  { include "pc(pc104)"     };
};

xkbcomp cz_robot.xkb 
Error:            Can't find file "cz_robot" for symbols include
                  Exiting
                  Abandoning symbols file "(null)"

Tak to nechápu, že ho nenajde.

Zkusím vymazat /etc/X11/xkb/symbols.dir nicméně ostatní klávesnice jako
setxkbmap cz
setxkbmap cz_qwerty
fungují vesele dál, takže to vypadá, že ten xkbcomp ten soubor
/etc/X11/xkb/symbols.dir pro hledání vůbec nepotřebuje.
Šachování se switchem -I také nepomáhá, tak nechápu,
kde ty soubory hledá :-(

Do /etc/X11/xkb/rules/xorg.lst do sekce !layout jsem to taky dopsal,
do /etc/X11/xkb/rules/xorg snad nemusim, když nepoužívám varianty...

Tak co kde ještě?

Je to hrozný, když dám do http://merkel.debian.org/~don/cgi/search.cgi
frázi "for symbols include", tak mi vyjedou desítky bugů
související nějak s xkbcomp, a to v časovém rozpětí několika let,
kdo se v tom má vyznat??
(Nepochopil jsem, jak funguje bugtracking v x.org)

Vrátit se raději k osvědčenému xmodmap...?

Ještě nechápu v Xorg.0.log, co je kde defaultně disablovnýho:
(**) XKB: model: "pc104"
(**) Option "XkbLayout" "cz_robot"
(**) XKB: layout: "cz_robot"                  
(==) Keyboard: CustomKeycode disabled 

Petr Heřman

On Fri, Oct 20, 2006 at 09:31:53PM +0200, Petr Heřman wrote:
> Před pár lety jsem si upravil /etc/X11/xkb/symbols/pc/cz a uložil jako 
> cz_robot,
> vše v pohodě, až asi před měsícem nebo před dvěma po nějakém upgrade etch
> mi to najednou přestalo fungovat:
> 
> $ setxkbmap -v -v -v -v cz_robot
> Setting verbose level to 8
> Setting verbose level to 9
> locale is C
> Warning! Multiple definitions of keyboard layout
>          Using command line, ignoring X server
> Applied rules from xfree86:
> model:      pc104
> layout:     cz_robot
> Trying to build keymap using the following components:
> keycodes:   xfree86+aliases(qwerty)
> types:      complete
> compat:     complete
> symbols:    pc(pc104)+cz_robot
> geometry:   pc(pc104)
> Error loading new keyboard description
> 
> Jak zjistit, co ta hláška znamená za chybu, co se mu nelíbí?
> 
> Ve /var/log/Xorg.0.log mám:
> (EE) Error loading keymap /tmp/server-0.xkm                                   
>                                                      
> 
> Petr Heřman
> ________________________________________________
> CZdebian-l maillist  -  CZdebian-l zavinac debian bod cz
> http://www.debian.cz/mailman/listinfo/czdebian-l
> E-mail (un)subscriptions: czdebian-l-request zavinac debian bod cz


Partial thread listing: