AwesomeWm 我需要有关映射更多修改键的建议

AwesomeWm I need advice on mapping more modifier keys

我需要为键映射找到另外几个修饰符。 Awesome Docs 指出有效的修饰符是 Any、Mod1、Mod2、Mod3、Mod4、Mod5、Shift、Lock 和 Control,我不清楚其中的一些,但我试过 Capslock 和 Tab,但效果不佳。虽然绑定似乎有效,但我发现您仍然可以通过仅使用“键”部分来触发该功能,就好像修饰符被忽略一样。我知道我很可能不得不绘制这些地图,我希望我能得到一些关于从哪里开始的建议,在此先感谢您的帮助

我在 Manjaro/Arch 上使用 awesome 4.3 谢谢

clear mod4 
add mod4 = Super_L Hyper_L 
add mod3 = Super_R Menu
keycode 135 = Super_R Menu

和 cli xmodmap 的输出

xmodmap:  up to 3 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        Super_R (0x86),  Super_R (0x87)
mod4        Super_L (0x85),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

您可以在终端中使用 xmodmap 查看当前修饰符。

您可以通过以下方式将 Tab 键添加到 mod1: $ xmodmap -e "add mod1 = Tab"

那么就可以在rc.lua中使用Mod1,例如:

root.buttons = gears.table.join(
      ...
      ...
      awful.button({"Mod1"}, 1, function() naughty.notification({text="ok"}) end),
      ...
      ...
)

按住 Tab 键并按下鼠标左键,弹出通知。

尽管如此,Tab 将继续制表...但如果您想更改此行为,您可能需要考虑像 this one.

这样的 xmodmap 教程

在 awesomeWM 中,您可以找到一个 table 与您当前的修改器。下面我们可以看到Tab已经添加到Mod1 table:

$ awesome-client "return awesome._modifiers.Mod1[1].keysym"
   string "Tab"
$ awesome-client "return awesome._modifiers.Mod1[1].keycode"
   double 23

编辑

使用 xmodmapMenu 密钥重新分配给 mod3:

clear mod1
add mod1 = Alt_L Meta_L
add Mod3 = Menu

More on xmodmap