Ändern der Mod-Taste in Awesome WM

9

Ich habe versucht, die Mod-Taste in fantastisch von der Windows-Taste in Pause, Bildlaufsperre und Escape zu ändern.

Für alle Schlüssel habe ich versucht, den Eintrag in der rc.luaKonfigurationsdatei zu ändern ; Ich habe versucht, mit xmodmap Sperren zu löschen undadd mod4 = ...

Es scheint jedoch, dass die Tasten, egal was ich mache, "klebrig" werden (manchmal auf seltsame inkonsistente Weise), nämlich wenn ich sie einmal drücke, verhält sich der Computer so, als ob sie ständig gedrückt werden.

Gibt es eine vernünftige Möglichkeit, dieses Verhalten zu ändern?

Archie
quelle

Antworten:

2

Ich habe eine Datei mit diesen beiden Zeilen in meinem Haus:

clear lock 
keysym Caps_Lock = Super_L

Es wird von meinem rc.lua so aufgerufen :

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")
Kioopi
quelle
Ich möchte Capslock nicht als Modkey verwenden. Der clear lockBefehl hebt die Schaltsperre auf, und für beide in der ersten Zeile meiner Frage genannten Tasten sollte keine Schaltsperre vorhanden sein.
Archie
2

Viel zu spät, aber als Referenz für andere:

Das Problem scheint zu sein, dass xmodmap keinen der Schlüssel identifiziert, die Sie als Modifikatorschlüssel aufgelistet haben. AwesomeWM erlaubt daher nicht, sie als Modifikatortasten zu verwenden.

Sie können versuchen, den Schlüssel hinzuzufügen, den Sie als Mod3 verwenden möchten (der auf den meisten Systemen, die ich gesehen habe, für nichts verwendet zu werden scheint). Dann kann Ihre rc.lua den Modkey als "Mod3" auflisten.

Als Modifikatorschlüssel hinzufügen

Sie können Ihre Modifikatortasten mit sehen xmodmap. Standardmäßig erhalten Sie wahrscheinlich Folgendes:

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 drücken, während sie ausgeführt wird, und für Scroll Lock wird meine als 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 Mod3 hinzuzufügen, müssen Sie erstellen oder hinzufügen ~/.Xmodmap. Durch Hinzufügen dieser Zeile wird Mod3 nur als Scroll_Lock-Taste festgelegt:

add Mod3 = Scroll_Lock

Führen Sie aus, um Ihre Änderungen zu testen und Fehler in Ihrer .Xmodmap-Datei anzuzeigen

xmodmap ~/.Xmodmap

Rc.lua wird aktualisiert

Wie Sie bereits klar herausgefunden haben, befindet sich oben in Ihrer rc.lua-Datei (normalerweise in ~/.config/awesome/rc.lua) eine modkey = "Mod4"Zeile. Ändern Sie dies in modkey = "Mod3".

Warnungen

Die Esc-Taste wird von AwesomeWM für eine Reihe von Tastenzuordnungen verwendet. Ich würde empfehlen, stattdessen Scroll Lock oder Pause zu verwenden, da es weniger wahrscheinlich ist, dass es zu umfangreichen Konflikten kommt. Tatsächlich scheint AwesomeWM anzunehmen, dass Esc für das Abbrechen des aktuellen Vorgangs reserviert ist.

Die Bildlaufsperre scheint magisch als Sperrschlüssel behandelt zu werden, ähnlich wie die Feststelltaste. Der Unterschied besteht darin, dass das Sperrverhalten von Caps Lock relativ trivial zu deaktivieren ist, während Scroll Lock dieses Verhalten meines Erachtens nicht deaktivieren kann, soweit ich das beurteilen kann.

Ich würde vorschlagen, dies mit einem Schlüssel wie dem Numpad 0-Schlüssel oder etwas zu versuchen, das normalerweise nicht als Statusverriegelungsschlüssel ausgelegt ist, zu bestätigen, dass es funktioniert, und dann zu dem gewünschten Schlüssel zu wechseln.

Mtalexan
quelle
0

Ich weiß, dass ich 3 Jahre zu spät bin, aber wenn dies jemandem hilft, wechseln Sie

modkey = "Mod4"

mit

modkey = "Mod1"
TuxForLife
quelle
Das ist das Grundkonzept, aber die spezifischen Schlüssel, die er aufgelistet hat, können nicht mit einer einfachen Modifikation wie der rc.lua verwendet werden. Die Modkey-Einstellung in der rc.lua kann anscheinend nur auf Tasten gesetzt werden, die von xmodmap als Modifizierertasten behandelt werden (wie Shift oder Strg), und kann nicht auf etwas wie 'x' gesetzt werden.
Mtalexan