在玩游戏时,xmodmap
我遇到了一个听说过的修饰键:Mode_switch
。似乎与插入特殊字符有关。
我将其分配给了一个键,但它似乎没有作用。这是为了什么 与ISO_Level3_Shift
(Alt Gr)有什么不同吗?
在玩游戏时,xmodmap
我遇到了一个听说过的修饰键:Mode_switch
。似乎与插入特殊字符有关。
我将其分配给了一个键,但它似乎没有作用。这是为了什么 与ISO_Level3_Shift
(Alt Gr)有什么不同吗?
Answers:
Mode_switch
是AltGr在许多键盘布局上调用的键的旧式(XKB之前)名称。它与相似Shift,因为当您按下对应于某个字符的键时,如果同时按下Shift或,则会得到另一个字符AltGr。与X9不同Shift
,Mod_switch
它不是X11意义上的修饰符,因为它通常适用于字符,不适用于功能键,因此应用程序仅需要执行字符查找即可获得所需的效果。
ISO_Level3_Shift
是此密钥的XKB版本。一般来说,XKB复杂得多,并且可以做一些额外的花哨的东西。XKB的机制更为通用,因为它允许键盘布局改变哪个键受哪个修饰符影响,它概括了粘滞(CapsLock-style)和同时按下(Shift-style)修饰符,等等。
ISO_Level3_Shift
可以充当“粘粘”,我一直在寻找了很久,而功能:unix.stackexchange.com/questions/39014/...
Mode_switch
并ISO_Level3_Shift
以略有不同的方式执行相同的操作。我并不是说要了解这些差异。在大多数情况下,它们并不重要,但我确实记得,将xmodmap与XKB名称混合有时会导致修饰符无法正常工作。
us(cz_sk_de)
功能或取决于是否对于某些按键自定义的xmodmap映射(逗号为例)AltGr
是Mode_switch
或ISO_Level3_Shift
,但在同一时间不能得到这两个功能。
CapsLock
样式。粘滞键称为“闩锁”,而锁键称为锁。在锁定键有效之前,按下下一个非修饰符后,释放粘滞键,直到再次按下它们为止。
这个答案并不意味着要与@Gilles的答案相矛盾,而是要描述xkb输入处理的另一个方面,我认为他的答案“未充分说明”。
您可以同时使用ISO_Level3_Shift
(ALT-GR)和Mode_switch
在同一时间用不同的结果。它需要一些配置,但是您可以同时拥有它们,并使用它们为每个物理键盘键产生6个不同的键!
您可以例如配置Tab为Mode_switch
当举行xcape ⌂和xmodmap的,然后如标有“H”键盘上的按键可能会产生下列字符/键:
h
H
← (Cursor)
← (Symbol)
┘
┐
with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH
因此,回到您的问题所在:IL3S
并且Mode_switch
可以配置为表示不同的含义,因此您可以在35个按键上使用光标键和来自(重音)语言的约200个有用字符,方框图和技术字符集。 3个字母行。
要完成上述任务:
# Initial Setup
xmodmap -e 'keycode 23 = Mode_switch ISO_Left_Tab Tab ISO_Left_Tab Tab ISO_Left_Tab'
xmodmap -e 'keycode any = Tab'
xcape -e "Mode_switch=Tab"
例如H:
xmodmap -pke | grep 'h H'
# Make note of the keycode, note the 8 columns after the `=`,
# then edit and feed back into xmodmap with:
xmodmap -e 'keycode 43 = h H lowrightcorner uprightcorner Left leftarrow h H'
fn: A → B
。
ISO_Level5_Shift
。这将产生8个级别,第7个级别是lvl3+lvl5+H
&c。
Mode_shift
Xkb中的Shift键是组或布局的移位键。如果您的布局包含多个组,则可以按住此键以访问下一个组。如果有多个布局,可以按住此键在布局之间切换(†1)。
因此Mode_shift
是将级别Shift(或使用keyym名称,使用Shift_L
和
)进行分组Shift_R
。
如果我们认为Mode_shift
别名为ISO_Group_Shift
(†2),则可能会更清楚。也有称为ISO_Group_Latch
和的键
,ISO_Group_Lock
分别对应于
ISO_Level2_Latch
(锁存移位)和Shift_Lock
(†3)。
对于不同的脚本,还有许多别名:
kana_switch
Arabic_switch
Greek_switch
Hebrew_switch
Hangul_switch
†1:这是基于我对Xkb的“组”和“布局”的理解。似乎就象使用这样的键在它们之间进行选择一样对待它们。
†2:我上的文件这个基础keysymdef.h
在这个Git仓库
在修订ab8666661fc6(“添加XF86XK_AudioPreset”,2017年5月10日)。在安装中,您可能会在找到此文件
/usr/include/X11/keysymdef.h
。
†3:还有一个钥匙ISO_Lock
,一种通用锁定钥匙。
AltGr
钥匙的含义
Mode_switch
是AltGr在许多键盘布局上调用的键的旧式(XKB之前)名称。
这使我怀疑“ AltGr”可能代表“替代/替代组”,因为Mode_switch
它用于转移组。然而,事实证明这是错误的。根据按键上AltGr的
Wikipedia页面,“ AltGr”似乎来自IBM键盘,并且在其手册中表示“ AltGr”是“备用图形”的缩写。这是有道理的,因为在很好地支持在多个脚本之间快速切换之前,似乎很可能使用键盘来绘制“图形”(文本用户界面中使用的箱形绘制字符)。