Se vuoi farlo su una tastiera Apple, prova questo:
echo 1|sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd
Per farlo funzionare con una versione precedente di Linux, puoi provare questo:http://blog.chaselambda.com/2014/10/09/apple-keyboard-on-linux-3.8.html
Se vuoi solo scambiare alt sinistro e tasto super esegui il comando nel tuo terminale:
setxkbmap -option altwin:swap_alt_win
Per ripristinare il comportamento predefinito basta usare:
setxkbmap -option
Nota:questo è temporaneo. Se vuoi gli effetti in modo permanente, aggiungilo al tuo file di avvio.
Un modo per ottenerlo è tramite xmodmap
. Puoi eseguire xev
per ottenere eventi chiave. Durante l'esecuzione di xev
dovrebbe apparire una casella e puoi metterla a fuoco e premere i tasti che vuoi scambiare. Dovrebbe produrre dettagli simili a quelli di Alt chiave:
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
Sono su un PC e non ho un "tasto di comando", ma ho l'equivalente "tasto Windows", exev dà:
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
Perché xmodmap non ha idea di state
, e può facilmente interrompere le mappature dei tasti, ti suggerisco di fare un:
xmodmap -pke > defaults
Quindi creiamo un file 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
Nota come sto usando i codici chiave che xev
restituito. Anche qui sto solo sostituendo i tasti super e alt di sinistra (e lasciando quelli di destra al loro vecchio comportamento). Quindi possiamo semplicemente eseguire xmodmap
, per impostare queste chiavi:
$ 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
Puoi correre senza il -v
(prolisso) per l'esecuzione silenziosa, ma lo trovo utile se hai commesso errori nel tuo file modmap. Se le cose vanno male, basta riapplicare le impostazioni predefinite:
xmodmap defaults
Modmap viene spesso eseguito all'avvio di X, quindi puoi applicarli come predefiniti se inserisci i comandi modmap in ~/.xmodmaprc
.