Kdysi dávno jsem objevil anglické klávesnice. Někdy v páté třídě jsem psal z Anglie email a poprvé dostal pod ruce QWERTY klávesnici. Bylo to tehdy součástí nějakého školního pobytu. Nebyl to nijak zlomový moment a je dost možné, že tohle rozložení mi přišlo pod ruce už dávno na dědově psacím stroji. Možná i ten první domácí počítač, co kdysi přivedl domů, měl klávesnici obdobnou, ale tehdy jsem ještě neuměl číst a jediné co jsem věděl bylo, kde zhruba jsou ty klávesy, co otáčí tvary v tetrisu.

Peklo dvojí klávesnice

Kdysi dávno jsem objevil anglické klávesnice. Někdy v páté třídě jsem psal z Anglie email a poprvé dostal pod ruce QWERTY klávesnici. Bylo to tehdy součástí nějakého školního pobytu. Nebyl to nijak zlomový moment a je dost možné, že tohle rozložení mi přišlo pod ruce už dávno na dědově psacím stroji. Možná i ten první domácí počítač, co kdysi přivedl domů, měl klávesnici obdobnou, ale tehdy jsem ještě neuměl číst a jediné co jsem věděl bylo, kde zhruba jsou ty klávesy, co otáčí tvary v tetrisu.

Někdy na střední, kdy nás učili psát do monitorů, jsem dozrál v přesvědčení, že QWERTY varianta je lepší, protože jsem často komunikoval v angličtině, k čemuž jsem používal právě anglickou variantu (tradičně se přepínala ve Windows zkratkou ALT+SHIFT), protože psaní apostrofů[1] bylo tak nějak po ruce a čím dále jsem byl vzděláván v informačních technologiích, doceňoval jsem, jak jsou tak nějak po ruce vůbec všechny ty užitečné symboly. Ale abych nezabíhal - počal jsem používat QWERTY rozložení i pro český jazyk, protože přepínání mezi anglickou a českou variantou bylo ve své YZ podstatě silně matoucí pro mé prsty.

Jistě hrál roli i fakt ten, že jsem se jednoduchým gestem užívání QWERTY české klávesnice silně separoval od většiny spolužáků a jejich protočené oči, když některý z nich dostal do rukou můj počítač a něco na něm psal, pouze napájely ideu mé jedinečnosti. Dobré zmínit, že je štěstí, že z puberty se vyrůstá.

Přepínání rozložení

Windows a jeho monopol na svalovou paměť dětí devadesátek udělal své. Po mé mladistvé konverzi tučňákem, kdy už jsem intuitivně při instalacích a distroskocích nastavoval výchozí klávesnici anglickou, jsem byl poprvé uvědoměn, že existují i další způsoby přepínání na jiné varianty. Nebyl jsem ale tehdy s to přijmout cokoliv než ALT+SHIFT. Gnome se někdy při přechodu do 3. verze rozhodl výchoze používat WIN+SPACE, což alespoň chvilku našlo využití pro tu intruzivní klávesu s vlaječkou, než jsem zase přesedlal zpátky.

Vtipnější byly momenty, kdy jsem začal odhazovat Desktopová (E)prostředí a namáčet nohy ve (W)okenních Manažerech. Pravda, že díky nim jsem začal počítače chápat jako hromadu textových příkazů, na kterých je nalepené nějaké grafické rozhraní (bloat), ale počátky byly bolestivé. Hodiny jsem se snažil vyzkoumat, jak do openboxu dostat přepínání klávesnic. Dnes je mi to až úsměvné, ale vzpomínat na ty začátky člověka alespoň trochu zahřeje, když porovná, co umí dnes s tím, co neuměl tehdy. Pro neznalé - openbox vaše klávesnice vůbec neřeší, dělá to xorg. Ale jak?

Nastavení varianty klávesnice zprostředkovává xkeyboard-config, v jehož manuálu se vyskytují všechny možné způsoby jak přepínání docílit (je to sekce Options). Samotné přepínání se ale provádí příkazem setxkbmap.

Následující příkaz zaručí v jakémkoliv WM, nebo i DE, který běží pod X, že kombinace kláves ALT+SHIFT změní jazyk vaší klávesnice. V případě, že prahnete po zachování Y na svém původním anglickém místě, přidejte flag -variant ",qwerty". Vyměňte pořadí us a cz v -layout, pokud chcete začínat s klávesnicí českou (nezapomeňte případně i na -variant).

setxkbmap -layout "us,cz" -option "grp:alt_shift_toggle"
setxkbmap -layout "us,cz" -variant ",qwerty" -option "grp:alt_shift_toggle"
setxkbmap -layout "cz,us" -variant "qwerty," -option "grp:alt_shift_toggle"

Řádek (vyberte si jen jeden!) stačí umístit třeba do .xsession - soubor obsahující příkazy, které jsou spuštěny po přihlášení skrze display manager - nebo .xinitrc (pokud startujete X manuálně příkazem startx v TTY). Jsou i další způsoby - pamatuji se, že openbox má svůj vlastní soubor, který obsahuje příkazy po spuštění, ale nutně každý WM (pod X) bude respektovat výše zmíněné soubory.

NO A(LT)?

Pokud nějaký čerstvý český UNIXák narazí na tenhle text při svém hledání po způsobu přepínání klávesnice, budiž mu ku pomoci. Proč to ale vůbec všechno zmiňuji, když tohle vlastně není návod a pravděpodobně žádná novinka pro čtenáře třiapůl?

Výše uvedený způsob jsem používal něco přes 8 let[2]. Až poměrně nedávno jsem se začal zajímat o to, jak toho samého dosáhnout ve virtuální konzoli. TTY v OpenBSD česky (zatím) neumí, ale můj kavárenský FreeBSD stroj, který používám výhradně pro textové účely, má skvělou lokalizaci ve všech ohledech (čtěte: umí tisknout háčky a čárky v TTY). Řekl jsem si, že by mohl posloužit k experimentu život bez xorgu.

Protože výchoze píše můj FreeBSD v TTY anglicky, vyrazil jsem hledat, jak dosáhnout psaní česky. Naštěstí se neopakovala ta šaráda z mých openbox dní a díky skvělé dokumentaci jsem brzy četl:

$ kbdmap

Vyskočilo modré okno a já zvolil českou klávesnici. Potvrdil jsem a byl navrácen do virtuální konzole. 1234... čekal jsem +ěšč! Kde je chyba? Očividně jsem ještě nebyl hotov. Po dalším pátrání jsem přidal keymap=cz do /etc/rc.conf a restartoval. Žádná změna. Stále jsem psal anglické znaky.

Dočetl jsem se, že rozložení výchoze mění klávesa ALT. Stiskl jsem levý ALT, psal jsem anglicky. Stikl jsem pravý ALT, psal jsem anglicky, držel jsem levý ALT, nic, držel jsem pravý ALT - vítězství! A v ten moment jsem objevil ideální způsob psaní ve dvou jazycích.

Totiž představte si, že už nikdy nemusíte měnit z jedné klávesnice na druhou a zpět. Máte teď obě najednou.

Nyní tedy sedím na věčně anglické klávesnici se všemi svými čísly a závorkami a apostrofy na svých místech, a když jen potřebuji napsat něco s čárkou nebo háčkem, přidržím pravý ALT a stisknu náležitou klávesu. Pochopitelně funguje i sekvenční psaní háčků a velkých písmen - například ALT+´+a napíše á. ALT+SHIFT+´+ď, ALT+SHIFT+´+SHIFT+d napíše Ď (´ je = na angl.). Pro všechna písmena uvedená na české klávesnici stačí například ALT+4 - napíše č.

Protože jsem si tenhle způsob ihned zamiloval, trvalo mi asi týden, než jsem se do něj vžil. Ihned jsem adaptoval předchozí setxkbmap na všechny stroje v mé moci, abych mohl užívat nově nabyté radosti se vším všudy v každém prostředí:

setxkbmap -layout "us,cz" -variant ",qwerty" -option "grp:switch"

Pokud tenhle fígl znáte, chápete, co jsem objevil. Pokud ne, a užíváte dvojí varianty kláves, zkuste jej. Třeba si vás získá jako mě.

Další čtení

Poznámky

[1] Dříve to bývalo horší a dralo to mé ligvistické srdce, ale stále se setkávám s tím, že někdo vydává ´ za ' (například Andre´s sweater). Pokud je to i vaše praxe, bohužel už nemám tu kapacitu vám poradit jak na české klávesnici apostrof psát. Naposled jsem ho psal možná před patnácti lety.

[2] Čím víc jsem UNIXovatěl, tím víc jsem ALT chápal jako něco víc, než skákání na pogu v Commander Keen a tou jednou klávesou k přepínání variant. Tu fatální ránu mi poměrně nedávno dalo cwm, kdy jsem si tak zamiloval jeho klávesové zkratky, že jsem se vzdal ALT+SHIFT a na malou chvíli se nechal inspirovat WIN+SPACE.