GNU/Linux >> Znalost Linux >  >> Linux

Přepsat několik klíčových kódů pomocí Xkb?

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.


Linux
  1. Používáte Notify-Send s Cronem?

  2. Doplnění s „sed“?

  3. Oprava binárního kódu pomocí Dd?

  1. Trasování jádra pomocí trace-cmd

  2. Příkaz Nohup s příklady

  3. JQ Command v Linuxu s příklady

  1. Nainstalujte Linux pomocí LVM

  2. 3 způsoby, jak odstranit všechny soubory v adresáři kromě jednoho nebo několika souborů s příponami

  3. Duplicitní, s několika malými změnami, několika řádky v textovém souboru?