Znacznie późno, ale w celach informacyjnych:
Problem polega na tym, że xmodmap nie identyfikuje żadnego z klawiszy wymienionych jako klucze modyfikujące. AwesomeWM nie pozwala więc na używanie ich jako klawiszy modyfikujących.
Możesz spróbować dodać klucz, którego chcesz używać jako Mod3 (który wydaje się nie być używany do niczego w większości systemów, które widziałem), a następnie twój rc.lua może wypisać klucz jako „Mod3”.
Dodaj jako klawisz modyfikujący
Możesz zobaczyć swoje klawisze modyfikujące za pomocą xmodmap
. Domyślnie prawdopodobnie otrzymasz coś takiego:
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)
Dzięki xev
możesz zobaczyć nazwę dowolnego klawisza, który naciskasz podczas jego działania, a dla Scroll Lock moja pojawia się jako:
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
Zauważysz, że nazwa klucza to Scroll_Lock
.
Aby dodać do Mod3, musisz utworzyć lub dodać do ~/.Xmodmap
. Dodanie tej linii powoduje, że Mod3 będzie tylko klawiszem Scroll_Lock:
add Mod3 = Scroll_Lock
Aby przetestować zmiany i sprawdzić błędy w pliku .Xmodmap, uruchom
xmodmap ~/.Xmodmap
Aktualizacja rc.lua
Jak już jasno zrozumiałeś, w górnej części pliku rc.lua (który zwykle jest w ~/.config/awesome/rc.lua
środku), jest modkey = "Mod4"
linia. Zmień to na modkey = "Mod3"
.
Ostrzeżenia
Klawisz Esc jest używany do wielu mapowań klawiszy przez AwesomeWM. Sugerowałbym zamiast tego spróbować Scroll Lock lub Pause, ponieważ jest mniej prawdopodobne, że wystąpią poważne konflikty. W rzeczywistości AwesomeWM wydaje się zakładać, że Esc jest zarezerwowany do anulowania bieżącej operacji.
Scroll Lock wydaje się być magicznie traktowany jako klucz blokujący, podobnie jak Caps Lock. Różnica polega na tym, że zachowanie blokowania Caps Lock jest stosunkowo trywialne do wyłączenia, podczas gdy Scroll Lock nie może wyłączyć tego zachowania, o ile wiem.
Sugeruję wypróbowanie tego z kluczem takim jak klawisz Numpad 0 lub czymś, co zwykle nie jest zaprojektowane jako klucz blokujący stan, potwierdź, że działa, a następnie spróbuj przełączyć się na odpowiedni klucz.
clear lock
czyści polecenie przesunąć blokadę, i nie powinno być żadnej blokady klawiszy shift zarówno dla wymienionych w pierwszym wierszu moje pytanie.