Ändern des Mod-Schlüssels in Awesome WM

Ändern des Mod-Schlüssels in Awesome WM

Ich habe versucht, die Mod-Taste in Awesome von der Windows-Taste in Pause, Rollen oder Escape zu ändern.

rc.luaFü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 xevkö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.luaWie 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"

verwandte Informationen