我用的是由键盘控制的极简的WM。
主要的问题是,这有可能吗?多么?
例如,Mod6。我知道如何重新映射现有的修饰符,但不知道如何添加新的修饰符。我在使用Arch Linux。
发布于 2011-07-04 09:54:27
X通常有8个修饰符,这些修饰符都分配给它们。按下键会导致与keysym相关联的键盘事件。如果keysym有一个指定给它的修饰符,那么当该键按下时,键事件将被标记为该修饰符。
这些修饰符以及常见的keysym赋值如下:
Shift:Shift_L,Shift_RLock:Caps_LockControl:Control_L,Control_RMod1:Num_LockMod2:Meta_L,Meta_RMod3:Alt_L,Alt_RMod4:Hyper_L,Hyper_RMod5:Super_L,Super_RAlt/Hyper/Meta/Super/NumLock在Mod1-5中的分布是任意的;您可能会发现它们的顺序不同,您可能会发现有些丢失了。
标准X库中的所有修饰符都是8修饰符,有些应用程序甚至不允许您获得所有这些修饰符。其中两个(Shift和Lock)有一个固定的意思,即在输入字符时,不太可能在没有不良副作用的情况下覆盖。
然而,大多数键盘事件处理都是由客户端(即每个应用程序内部)处理的。因此,特定的应用程序可能会让您处理更多的修饰符。这样做的方法将特定于该应用程序(或至少是它用于事件处理的库或框架)。
发布于 2011-07-04 09:08:16
通常Mod1-Mod5与诸如Shift、Control、Alt、Hyper、Super等命名修饰符组合在一起。
在一些WMs中,可以将它们解离并作为10个不同的改性剂使用。不是所有的WM都会合作,但有些人会合作。
重要的一点是在.xmodmaprc中使用clear Mod和clear Shift之类的东西来清除各种关联,而不是使用普通的add Mod2 = Alt_L样式映射重新组合它们。
https://unix.stackexchange.com/questions/16039
复制相似问题