Portál AbcLinuxu, 7. května 2025 07:16
Na mém notebooku postrádám klávesu Windows a klávesu Menu. Přemapoval jsem si proto Windows klávesu na Caps Lock a klávesu Menu na pravý Alt pomocí xmodmap.
Po dvou letech tu mám další zápis do svého blogu. :) Další budou ve smyslu poznámek, co jsem provedl, abych to nemusel příště hledat. Třeba se některé uvedené věci hodí ještě někomu jinému :)
X Window přijímá kódy kláves z klávesnice a přiřazuje jim vlastní "symboly". Například kód klávesy 0x0061 bez modifikátoru má přiřazen kód "a". Pokud tedy změníme mapování kódu klávesy na symboly X serveru, po stisku klávesy vyšle X server námi definovaný kód.
Kódy kláves můžeme zjistit pomocí programu xev. Ten vytvoří jednoduché okno a do konzole zobrazuje události, které okno dostalo. Po stisku klávesy se v konzoli zobrazí výpis, obsahující mimo jiné keycode a keysym. První je kód, který vyslala klávesnice, druhý je symbol, na který byl kód přeložen.
Klávesa windows je modifikátor, stejně jako CapsLock. Zobrazíme si tedy mapu modifikátorů příkazem
xmodmap -pm
Jak vidíme, jako modifikátor lock je použita klávesa Caps Lock a jako mod4 klávesy Super_L a Hyper_L. Přiznám se, že netuším, co je klávesa Hyper_L. Klávesa Super_L označuje právě klávesu Windows. Odebereme tedy Caps Lock od modifikátoru lock.
xmodmap -e "clear lock"
Dále můžeme třeba přemapovat symbol klávesy Caps Lock na symbol klávesy Super_L, nebo přidat Caps Lock k modifikátoru mod4. Provedeme první možnost:
xmodmap -e "keysym Caps_Lock = Super_L"
Nyní můžete pomocí programu xev vyzkoušet, že po stisku klávesy Caps Lock je keysym Super_L.
Stejného chování jsme mohli dosáhnout přemapováním keycode 66 na keysym Super_L.
Toto přemapování provedeme výše zmíněným způsobem, a to přemapováním keycode klávesy AltGr (113), aby generovala keysym Menu.
xmodmap -e "keycode 113 = Menu"
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.