Pokud to chcete udělat na klávesnici Apple, vyzkoušejte toto:
echo 1|sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
Chcete-li, aby to fungovalo pro nižší verzi Linuxu, můžete vyzkoušet toto:http://blog.chaselambda.com/2014/10/09/apple-keyboard-on-linux-3.8.html
Pokud chcete pouze zaměnit levý alt a klávesu super, proveďte příkaz ve svém terminálu:
setxkbmap -option altwin:swap_alt_win
Chcete-li obnovit výchozí chování, použijte:
setxkbmap -option
Poznámka:Toto je dočasné. Pokud chcete efekty trvale, přidejte je do svého spouštěcího souboru.
Jedním ze způsobů, jak toho dosáhnout, je xmodmap
. Můžete spustit xev
získat klíčové události. Při spuštění xev
mělo by se objevit pole, na které můžete zaostřit a stisknout klávesy, které chcete zaměnit. Měl by vypisovat podrobnosti podobné jako u Alt klíč:
KeyPress event, serial 28, synthetic NO, window 0x8800001,
root 0x25, subw 0x0, time 2213877115, (126,91), root:(1639,475),
state 0x0, keycode 14 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Jsem na PC a nemám "příkazový klíč", ale mám ekvivalentní "klíč Windows", který mi andxev dává:
KeyPress event, serial 28, synthetic NO, window 0x8000001,
root 0x25, subw 0x0, time 2213687746, (111,74), root:(1624,98),
state 0x0, keycode 93 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Protože xmodmap nemá ponětí o state
, a může snadno přerušit mapování klíčů, navrhuji vám:
xmodmap -pke > defaults
Poté vytvoříme soubor xmodmap:
keycode 14 = Alt_L
keycode 93 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L
Všimněte si, jak používám kódy kláves xev
vrátil. Také zde pouze nahrazuji levé klávesy super a alt (a pravé nechávám jejich starému chování). Pak můžeme jednoduše spustit xmodmap
, pro nastavení těchto kláves:
$ xmodmap -v modmap.file
! modmap:
! 1: keycode 14 = Alt_L
keycode 0xe = Alt_L
! 2: keycode 93 = Super_L
keycode 0x5d = Super_L
! 3: remove Mod1 = Alt_L
! Keysym Alt_L (0xffe9) corresponds to keycode(s) 0xe
remove mod1 = 0xe
! 4: remove Mod4 = Super_L
! Keysym Super_L (0xffeb) corresponds to keycode(s) 0x5d
remove mod4 = 0x5d
! 5: add Mod1 = Super_L
add mod1 = Super_L
! 6: add Mod4 = Alt_L
add mod4 = Alt_L
!
! executing work queue
!
keycode 0xe = Alt_L
keycode 0x5d = Super_L
remove mod1 = 0xe
remove mod4 = 0x5d
add mod1 = Super_L
add mod4 = Alt_L
Můžete spustit bez -v
(verbose) switch pro tichý chod, ale považuji ho za užitečný, pokud jste ve svém modmap souboru udělali chyby. Pokud se věci pokazí, stačí znovu použít výchozí nastavení:
xmodmap defaults
Modmap se často spouští při startu X, takže je můžete použít jako výchozí, pokud vložíte příkazy modmap do ~/.xmodmaprc
.