Ein Weg, dies zu erreichen, führt über xmodmap
. Sie können ausführen xev
, um wichtige Ereignisse abzurufen. Beim Laufen sollte xev
eine Box erscheinen und Sie können sie fokussieren und die Tasten drücken, die Sie tauschen möchten. Es sollte Details ähnlich wie für den AltSchlüssel ausgeben :
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
Ich bin auf einem PC und habe keine "Befehlstaste", aber die entsprechende "Windows-Taste", und xev gibt:
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
Da xmodmap keine Ahnung davon state
hat und Tastenzuordnungen leicht aufheben kann, empfehle ich Folgendes:
xmodmap -pke > defaults
Dann erstellen wir eine xmodmap-Datei:
keycode 14 = Alt_L
keycode 93 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L
Beachten Sie, wie ich die zurückgegebenen Schlüsselcodes verwende xev
. Auch hier ersetze ich nur die linken Super- und Alt-Tasten (und überlasse die rechten ihrem alten Verhalten). Dann können wir einfach laufen xmodmap
, um diese Schlüssel zu setzen:
$ 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
Sie können ohne den -v
(ausführlichen) Schalter für die automatische Ausführung ausgeführt werden, aber ich finde es nützlich, wenn Sie Fehler in Ihrer Modmap-Datei gemacht haben. Wenn die Dinge chaotisch werden, wenden Sie einfach Ihre Standardeinstellungen erneut an:
xmodmap defaults
Modmap wird häufig beim Start von X ausgeführt, sodass Sie diese standardmäßig anwenden können, wenn Sie Ihre Modmap-Befehle eingeben ~/.xmodmaprc
.