Уже поздно, но для справки других:
Кажется, проблема в том, что xmodmap не идентифицирует ни один из ключей, которые вы указали в качестве ключей-модификаторов. Поэтому AwesomeWM не позволяет использовать их в качестве клавиш-модификаторов.
Вы можете попытаться добавить ключ, который вы хотите использовать в качестве Mod3 (который, похоже, не используется ни для чего на большинстве систем, которые я видел), тогда ваш rc.lua может перечислить modkey как «Mod3».
Добавить в качестве клавиши-модификатора
Вы можете увидеть ваши клавиши-модификаторы с xmodmap
. По умолчанию вы, вероятно, получите что-то вроде этого:
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)
При этом xev
вы можете увидеть название любой клавиши, которую вы нажимаете во время ее работы, и для Scroll Lock моя отображается как:
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
Вы заметите, что имя keyym есть Scroll_Lock
.
Чтобы добавить в Mod3, вам нужно создать или добавить в ~/.Xmodmap
. Добавление этой строки устанавливает Mod3 только в качестве ключа Scroll_Lock:
add Mod3 = Scroll_Lock
Чтобы проверить изменения и увидеть ошибки в файле .Xmodmap, запустите
xmodmap ~/.Xmodmap
Обновление rc.lua
Как вы уже поняли, в верхней части вашего файла rc.lua (который обычно находится ~/.config/awesome/rc.lua
) есть modkey = "Mod4"
строка. Измените это на modkey = "Mod3"
.
Предупреждения
Клавиша Esc используется для ряда сопоставлений клавиш AwesomeWM. Я бы посоветовал вместо этого использовать Scroll Lock или Pause, поскольку вероятность возникновения серьезных конфликтов невелика. Фактически, AwesomeWM предполагает, что Esc зарезервирован для отмены текущей операции.
Scroll Lock, похоже, магически трактуется как блокирующий ключ, очень похожий на Caps Lock. Разница в том, что блокирование Caps Lock относительно просто отключить, а Scroll Lock не позволяет отключить это поведение, насколько я могу судить.
Я бы посоветовал попробовать это с ключом, таким как клавиша Numpad 0, или с тем, что обычно не предназначено для блокировки состояния, подтвердите его работу, затем попробуйте переключиться на нужную клавишу.
clear lock
команда сбрасывает смещаться замок, и там не должно быть блокировки переключения либо для ключей , указанных в первой строке моего вопроса.