Hi,
es geht um folgende Kommandokette:
/usr/bin/setxkbmap us -option altwin:left_meta_win && /usr/bin/xmodmap ~/.keyboard_setting
Befinde ich mich im Terminal mit Bash und führe diese Kommandokette aus dann funktioniert alles es so wie sein soll.
xmodmap Output A:
mod1 Alt_L (0x40), Alt_L (0xcc)
mod2 Meta_L (0x85), Meta_L (0xcd)
Ich nutze den i3 wm manager und habe die oben beschriebene Kommandokette in meine ~/.config/i3/config eingefügt sodass beim Login und nach jedem i3 Neustart dieses Kommandokette automatisch ausgeführt wird:
exec_always /usr/bin/setxkbmap us -option altwin:left_meta_win && /usr/bin/xmodmap ~/.keyboard_setting
Problem
Nach einem reboot oder nach einem frische einloggen erhalte ich nicht das selbe Ergebnis wie als wenn ich die Kommandokette manuell in der Bash ausführe.
Hier xmodmap Output B nach einem frischen Login mit i3:
mod1 Alt_L (0x40)
mod2 Num_Lock (0x4d)
Output B unterscheidet sich vom Output A trotz der selben Kommandos.
Wenn ich nach dem Login dann aber i3 manuell restarte (sodass die Kommandokette auch automatisch asgeführt wird) und wieder mit xmodmap den Output überprüfe dann erhalte ich den gewünschten Output A.
Übergangslösung (gefällt mir aber nicht)
exec_always /usr/bin/setxkbmap us -option altwin:left_meta_win,compose:caps && sleep 1 && /usr/bin/xmodmap ~/.keyboard_setting
Wenn ich die beiden Kommandos mit sleep verzögere dann erhalte ich auch nach einem frischen Login das gewünschte Ergebnis Output A.
Ich möchte aber kein sleep benutzen und möchte auch nicht nach einem Login den i3 nochmal neu starten müssen.
Kann mir jemand erklären warum ich nach einem frischen Login mit i3 mit xmodmap nicht den output A erhalte und auf die Übergangslösungen ausweichen müsste?
Hier noch ein Auszug aus dem i3 Log: