答案1
使用 xmodmap 的乐趣
当您按下键盘上的按键时,有几个地方会定义会发生什么。键盘本身、内核、X 或其他显示管理器。为了实现您的目标,我们可以教 X 以不同的方式处理 Super 键。
Super 键通常映射到 Mod4。因此,当您按下 Mod4+Tab 时,您可能希望能够切换不同的窗口。并非总是如此,但很多时候应用程序会忽略此修饰键,或者不会接收它。
您可以选择调整 Super 键的处理方式。如果这样做,您很可能希望用其他键替换该功能。这是为了确保您可以继续执行诸如前面的 Mod4+Tab 示例或其他常见组合之类的操作。
如果您想查看 X 如何使用您当前的修饰符,您可以使用以下命令打印它们xmodmap
:
$ 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)
在这里,我们可以看到所有超级键和 Hyper 键都映射到 Mod4。如果您的键盘有左超级键和右超级键,您甚至可以只调整其中一个。例如,您可以将超级左键从 Mod4 中移除,同时将超级右键保留为普通超级键。
你应该花点时间研究一下其他人是如何使用修饰键多年来,我逐渐熟悉了这个想法以及人们学会充分利用它的方法。这个想法是,你清除修饰符,然后再添加回去。你可以设置一些东西,例如,~/.xmodmaprc
然后运行xmodmap ~/.xmodmaprc
。
# .xmodmaprc
clear mod4
clear control
add mod4 = Super_R
add control = Super_L
add control = Control_L
add control = Control_R
为什么不一开始就使用 Control 键呢?很有可能您的 Super 键旁边有一个 Control 键,因此您可以自行寻找其他修饰键(例如 Mod3)的用途并使用它。其他人则以相当巧妙的方式使用 Mod2 或 Mod5 来增加可用的修饰键数量。
xmodmap
一旦一切按您想要的方式进行,您就可以通过在文件中添加以下行来在每次登录时使用 X 和您的用户激活这些设置~/.xinitrc
:
xmodmap ~/.xmodmaprc
将 Super_L 键重新映射为非 Mod4 的一部分而是另一个修饰符组的一部分后,全局键盘快捷键应该会采用您的组合键。
可能相关的问题
虽然实际上是一个 Gnome 错误(?),但可以这个问题或类似的事情发生在你身上?你更可能想要这个 Plasma 配置解决方法,标题为“如何阻止 Meta 打开 KDE Plasma 的启动器?”:
正如所暗示的这里,编辑
~/.config/kwinrc
,在底部添加以下几行。[ModifierOnlyShortcuts] Meta=
然后使用 重新启动 kwin
kwin_x11 --replace & disown
。