Ich verwende Mod4 für die meisten Tastenkombinationen in i3, aber hierfür verwende ich Mod1:
bindsym Mod1+a workspace a
bindsym Mod1+b workspace b
bindsym Mod1+c workspace c
bindsym Mod1+d workspace d
...
Dies bindet jedoch sowohl Alt als auch Altgr, was unerwünscht ist, da ich zum Eingeben einiger Zeichen Altgr+<Buchstabe> verwende.
xev sagt, alt ist Alt_L und altgr ist Alt_R, bindsym Alt_L+a
funktioniert aber nicht
Antwort1
Letztlich kommt es darauf an, wassimon_simonwird für Mod1 angezeigt. Wenn beispielsweise angezeigt wird, dass Alt_L
und Alt_R
sich auf demselben Modifikator befinden, müssten Sie letzteren auf einen anderen (der 5 verfügbaren Modifikatoren) verschieben, um Konflikte zu vermeiden.
Hier einige Seiten mit Beispielen:
- Durch die Neuzuordnung von Alt_R mit xmodmap wird das Umschalten des VC-Terminals deaktiviertzeigt ein Beispiel, bei dem der Benutzer
Alt_R
vonmod1Zumod4(und stieß auf Probleme). Sie sollten die Ausgabe von xmodmap überprüfen, bevor Sie sie ändern. - simon_simonauf ArchLinux zeigt ein ausführliches Beispiel zur Manipulation von Modifikatoren.bewegeneinen Schlüssel, müssen Siehinzufügenes auf einen Modifikator undklares von dem anderen.
Eine Gefahr bei der Verwendung xmodmap
besteht darin, dass es nicht immerwissender richtige Tastencode für ein Tastensymbol (wie Alt_R
). Wenn ich darauf stoße, kann ich es normalerweise umgehen, indem ich in der Ausgabe von nachschaue
xmodmap -pk
für den SchlüsselSymbolxmodmap -pk
, und weisen Sie im Skript diesen Schlüsselcode zu. Auf einer Maschine wird beispielsweise
108 0xffea (Alt_R) 0x0000 (NoSymbol) 0xffea (Alt_R)
und mit diesem Skript
keycode 108 = Alt_R
remove mod1 = Alt_R
add mod3 = Alt_R
ändert die Ausgabe von diesem:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
dazu:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Alt_R (0x6c)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
(Für diese spezielle Maschine ist die Problemumgehung nicht erforderlich).