Answers:
很晚了,但供其他人参考:
问题似乎是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
您会注意到按键符号的名称是Scroll_Lock
。
要添加到Mod3,您需要创建或添加到~/.Xmodmap
。添加此行会将Mod3设置为仅Scroll_Lock键:
add Mod3 = Scroll_Lock
要测试您的更改并查看.Xmodmap文件中的任何错误,请运行
xmodmap ~/.Xmodmap
您已经清楚地知道,在rc.lua文件的顶部(通常在中~/.config/awesome/rc.lua
),有modkey = "Mod4"
一行。将此更改为modkey = "Mod3"
。
Esc键由AwesomeWM用于许多键映射。我建议改用“滚动锁定”或“暂停”,因为它不太可能产生广泛的冲突。实际上,AwesomeWM似乎假定保留了Esc来取消当前操作。
Scroll Lock似乎被神奇地视为锁定键,就像Caps Lock一样。区别在于,禁用Caps Lock的锁定行为相对来说微不足道,而据我所知,Scroll Lock不能禁用此行为。
我建议您使用Numpad 0键之类的键或通常不设计为状态锁定键的键进行尝试,确认其有效,然后尝试切换至所需的键。
我知道我迟到了3年,但是如果这可以帮助任何人,请切换
modkey = "Mod4"
与
modkey = "Mod1"
clear lock
命令清除了移位锁定,并且在我的问题的第一行中提到的任何一个键都不应有任何移位锁定。