Chci zamíchat pár klíčů s XKB. (Proč? Na notebooku, kde jsou některé klávesy nevhodně umístěny.) Momentálně používám xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Místo toho chci používat XKB a přiřazovat různá symbolická jména pro určité fyzické klíče, spíše než přiřazovat různé klíčové symboly určitým kódům kláves. (To je důvod.) Chci, aby kód klíče 110 posílal PGUP místo HOME , klíčový kód 115 pro odeslání DELE místo END , atd. Zbytek konfigurace nesmí být ovlivněn (takže PGUP je pokračovat v odesílání keyym Prior , atd. a všechny ostatní klávesy zůstanou tak, jak jsou).
Jak mohu změnit přiřazení těchto specifických kódů klíčů? Načtu soubor s xkbcomp somefile.xkb $DISPLAY , co potřebuji vložit do somefile.xkb ?
Přijatá odpověď:
Vytvořte soubor obsahující změny kódu klíče a uložte jej jako (například) ~/.xkb/keycodes/local . (keycodes adresář je pevně zakódován; základní adresář může být něco jiného a název souboru také.) Toto bude ve vašem případě obsahovat
xkb_keycodes {
<PGUP> = 110;
<PGDN> = 112;
<DELE> = 115;
<INS> = 117;
<HOME> = 118;
<END> = 119;
};
Chcete-li to načíst, spusťte
setxkbmap -print | sed -e '/xkb_keycodes/s/"[[:space:]]/+local&/' | xkbcomp -I${HOME}/.xkb - $DISPLAY
Tím se zobrazí vaše aktuální nastavení, přidá se +local do xkb_keycodes include a načte jej do kompilátoru XKB s přidáním ~/.xkb na zahrnutou cestu. (Pokud jste soubor pojmenovali jinak než ~/.xkb/keycodes/local , budete samozřejmě muset změnit +local a -I${HOME}/.xkb} .) Tímto způsobem zůstanou všechna ostatní nastavení zachována.