Ich habe versucht, die Mod-Taste in Awesome von der Windows-Taste in Pause, Rollen oder Escape zu ändern.
rc.lua
Für alle Schlüssel habe ich versucht, den Eintrag in der Konfigurationsdatei zu ändern ; ich habe versucht, mit xmodmap Sperren zu löschen undadd mod4 = ...
Es scheint jedoch so, dass die Tasten „klebrig“ bleiben (manchmal auf seltsame, inkonsistente Weise), egal was ich tue. Wenn ich sie nämlich einmal drücke, reagiert der Computer so, als ob ich sie ständig gedrückt hätte.
Gibt es eine sinnvolle Möglichkeit, dieses Verhalten zu ändern?
Antwort1
Ich habe zu Hause eine Datei mit diesen beiden Zeilen:
clear lock
keysym Caps_Lock = Super_L
Es wird aufgerufen von meinemrc.luaso was:
awful.util.spawn("xmodmap /home/username/your_xmodmap.file")
Antwort2
Viel zu spät, aber als Hinweis für andere:
Das Problem scheint zu sein, dass xmodmap keine der Tasten, die Sie aufgelistet haben, als Modifikatortasten identifiziert. AwesomeWM erlaubt es daher nicht, sie als Modifikatortasten zu verwenden.
Sie können versuchen, die Taste, die Sie verwenden möchten, als Mod3 hinzuzufügen (die auf den meisten Systemen, die ich gesehen habe, für nichts verwendet zu werden scheint), dann kann Ihr rc.lua den Modkey als „Mod3“ auflisten.
Als Modifikatortaste hinzufügen
Sie können Ihre Modifikatortasten mit sehen xmodmap
. Standardmäßig erhalten Sie wahrscheinlich so etwas:
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)
Mit xev
können Sie den Namen jeder Taste sehen, die Sie während der Ausführung drücken. Für die Rollen-Taste wird meiner folgendermaßen angezeigt:
KeyPress event, serial 36, synthetic NO, window 0x2200001,
root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x2200001,
root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Sie werden feststellen, dass der Name des Keysyms lautet Scroll_Lock
.
Um es zu Mod3 hinzuzufügen, müssen Sie erstellen oder hinzufügen ~/.Xmodmap
. Durch Hinzufügen dieser Zeile wird Mod3 nur auf die Scroll_Lock-Taste festgelegt:
add Mod3 = Scroll_Lock
Um Ihre Änderungen zu testen und etwaige Fehler in Ihrer .Xmodmap-Datei anzuzeigen, führen Sie aus
xmodmap ~/.Xmodmap
Aktualisieren von rc.lua
~/.config/awesome/rc.lua
Wie Sie sicher schon herausgefunden haben, gibt es oben in Ihrer rc.lua-Datei (normalerweise in ) eine modkey = "Mod4"
Zeile. Ändern Sie diese in modkey = "Mod3"
.
Warnhinweise
Die Esc-Taste wird von AwesomeWM für eine Reihe von Tastenzuordnungen verwendet. Ich würde vorschlagen, stattdessen Scroll Lock oder Pause auszuprobieren, da es dabei weniger wahrscheinlich ist, dass es zu umfangreichen Konflikten kommt. Tatsächlich scheint AwesomeWM davon auszugehen, dass Esc für das Abbrechen des aktuellen Vorgangs reserviert ist.
Scroll Lock scheint auf magische Weise als Sperrtaste behandelt zu werden, ähnlich wie Caps Lock. Der Unterschied besteht darin, dass das Sperrverhalten von Caps Lock relativ einfach zu deaktivieren ist, während dieses Verhalten bei Scroll Lock meines Wissens nicht deaktiviert werden kann.
Ich würde vorschlagen, dies mit einer Taste wie der Numpad-0-Taste oder etwas zu versuchen, das normalerweise nicht als Statussperrtaste vorgesehen ist, zu bestätigen, dass es funktioniert, und dann zu versuchen, zu der gewünschten Taste zu wechseln.
Antwort3
Ich weiß, ich bin 3 Jahre zu spät, aber wenn das irgendjemandem hilft, wechseln Sie
modkey = "Mod4"
mit
modkey = "Mod1"