是否可以添加更多修饰符?

是否可以添加更多修饰符?

我正在使用由键盘控制的简约 WM。
主要问题是,这可能吗?如何?
例如,Mod6。我知道如何重新映射现有修饰符,但不知道如何添加新修饰符。我正在使用 Arch Linux。

答案1

X 通常有 8 个修饰符,并为它们分配了键符号。按下某个键会产生与该键符号关联的键盘事件。如果键符号分配有修饰符,那么当该键按下时,按键事件将用该修饰符标记。

修饰符以及常见的键符号分配包括:

  • Shift: Shift_L,Shift_R
  • LockCaps_Lock
  • Control: Control_L,Control_R
  • Mod1Num_Lock
  • Mod2: Meta_L,Meta_R
  • Mod3: Alt_L,Alt_R
  • Mod4: Hyper_L,Hyper_R
  • Mod5: Super_L,Super_R

Alt/Hyper/Meta/Super/NumLock 在 Mod1-5 之间的分布是任意的;您可能会发现它们的顺序不同,并且可能会发现有些内容丢失了。

标准 X 库仅提供 8 个修饰符,而某些应用程序甚至不允许您使用所有修饰符。其中两个 (ShiftLock) 具有固定含义,您在键入字符时不太可能在没有令人讨厌的副作用的情况下覆盖。

然而,大多数键盘事件处理是在客户端处理的(即在每个应用程序内部)。因此,特定的应用程序可能会让您处理更多修饰符。执行此操作的方法特定于该应用程序(或至少特定于它用于事件处理的库或框架)。

答案2

通常 Mod1-Mod5 与 Shift、Control、Alt、Hyper、Super 等命名修饰符组合在一起。

在某些 WM 中,可以将它们分离并将它们用作十种不同的修饰符。并非所有 WM 都配合此操作,但有些会配合。

重要的是你要使用和.xmodmaprc之类的东西清除各种关联,但不要使用普通样式映射重新组合它们。clear Modclear Shiftadd Mod2 = Alt_L

相关内容