Kdysi dávno, v roce 1996, jsem používal Slackware Linux 3.0. Česká klávesnice v Xwindows byla řešená pomocí Xmodmap. Nevím už přesně jak bylo nastaveno trvalé přepnutí rozložení (myslím, že přes PrtScr/SysRq), ovšem rozhodně fungovalo následující: bylo možné se dočasně přepnout z české klávesnice do anglické (a též z anglické do české) pomocí pravého altu. Toto jsem často využíval při psaní českých textů v TeXu - pravýAlt+shift+ú dával například {. Podobně pravýAlt+shift+š dávalo # (nutné pro parametry maker a při psaní tabulek). S tímto jsem byl docela spokojen.
Pak někdy v roce 1999 přišel xkb a s ním jsem toto praktické přepínání ztratil.
Dnes se mi podařilo opět dosáhnout podobného stavu:
1) je potřeba zakomentovat řádek 68 v /usr/share/X11/xkb/symbols/cz - změnit ho na
// include "level3(ralt_switch)"
2) klávesnici nastavit pomocí
setxkbmap us,cz -option grp:win_space_toggle -option grp:switch
Po tomto nastavení: winkey+mezerník trvale přepíná anglickou/českou klávesnici a hlavně: pravý alt dočasně přepíná do opačné klávesnice - z anglické do české, z české do anglické. Má to jediný nedostatek - záleží na pořadí, v jakém se klávesy mačkají - dříve (s xmodmap) shift+pravýAlt fungovalo stejně jako pravýAlt+shift, teď když jsem v české klávesnici a chci napsat složenou závorku, musím si dát pozor, abych první zmáčknul pravýAlt a pak teprve Shift (a pak "ú", resp. ")").
Pro ty co by to chtěli vyzkoušet: je potřeba dát pozor, aby desktopové prostředí (gnome např.) nekolidovalo se setxkbmap. Já používám XFCE, v Settings/Keyboard/Layout mám nastaveno "Use system defaults" a klávesnici nastavuji v .xinitrc příkazem 2)
Jinak vím, že i z defaultní české xkb klávesnice, tj. bez komentáře 1), lze psát #&{} pomocí pravýAlt+x,7,b,n. Jenže kdo si to má pamatovat? Při mém přepnutí pomocí pravého Altu si nemusím pamatovat nic nového - držím zkrátka pravý alt a rázem píšu jakoby na anglické.
Jak píšete např. v TeXu vy?