Jak nastavit klávesnici? (bez přepínání - Unix)

Programovat na české klávesnici je zlo. Programovat na české qwerty už je trochu lepší. Programovat na jedné klávesnici, která je schopná psát vše co chci … je ultimátní.

Potřebujete mít: program setxkbmap

Překvapivě, některým developerům nejsou češi ukradení, tak udělali us(cz_sk_de) klávesnici.

setxkbmap -layout 'us' -variant 'cz_sk_de'
setxkbmap -option "lv3:caps_switch"

Použití

Je to běžná US klávesnice, až na to, že pod AltGr (pravý alt) je sada českých znaků. Mapování vypadá takto.

Normálně, se Shift, AltGr, a Shift s AltGr:

1234567890-=    !@#$%^&*()_+
qwertyuiop[]    QWERTYUIOP{}
asdfghjkl;'\    ASDFGHJKL:"|
zxcvbnm,./      ZXCVBNM<>?

úěščřžýáíéß´    ÚĚŠČŘŽÝÁÍÉẞˇ
qw€řťýůíóôü]    QWÉŘŤÝŮÍÓÔÜ}
ášďfghjkľöä\    ÁŠĎFGHJKĽÖÄ|
žxčvbňm,./      ŽXČVBŇM<>?

Soubor s tímto mapováním je v souboru:

/usr/share/X11/xkb/symbols/us

Vylepšení

AltGr je poměrně špatně dostupá klávesa, a je dobré mít alternativu pro druhou ruku. Tak nastavíme (docela zbytečnou klávesu) CapsLock na AltGr. Je potřeba přidat tento příkaz do scriptů při spuštění.

setxkbmap -option "lv3:caps_switch"

To lze vrátit na výchozí nastavení pomocí: setxkbmap -option

Dále doporučuji pozměnit soubor s klávesami ještě více, a upravit klávesy Q W E tak, aby šly psát i znaky ú, ě, é psát bez použití horních kláves.

key <AD01>  { [ q, Q, uacute, Uacute ] };
key <AD02>  { [ w, W, ecaron, Ecaron ] };
key <AD03>  { [ e, E, eacute, Eacute ] };

Upravené mapování:

1234567890-=    !@#$%^&*()_+
qwertyuiop[]    QWERTYUIOP{}
asdfghjkl;'\    ASDFGHJKL:"|
zxcvbnm,./      ZXCVBNM<>?

úěščřžýáíéß´    ÚĚŠČŘŽÝÁÍÉẞˇ
úěéřťýůíóôü]    ÚĚÉŘŤÝŮÍÓÔÜ}
ášďfghjkľöä\    ÁŠĎFGHJKĽÖÄ|
žxčvbňm,./      ŽXČVBŇM<>?

Soubor s úpravami bude vypadat takto: us(cz_sk_de) file

Vypnout CAPS LOCK

Když je zaplý caps lock po přechodu na klávesnici bez Caps-Locku, tak lze vypnout takto.

xdotool key Caps_Lock

Při spuštění

Stačí přidat script do chmod +x /etc/init.d/keyboard-custom

Old bug

Ve starších verzích byl v systému bug (Opraveno v ubuntu Zesty Zapus v 17.04!) – tuto klávesnici nešlo nastavit z terminálu, ale přepisem souboru:

/usr/share/X11/xkb/symbols/us

kde jsme upravili “cz_sk_de” (ke konci souboru) a na “czskde” (podtržítka dělali problém).

cz_sk_de -> czskde

Potom už šlo klávesnici nastaivt.

setxkbmap -layout 'us' -variant 'czskde'