AltGr钥匙的含义

AltGr钥匙的含义

和谁玩xmodmap我遇到了一个我从未听说过的修饰键:Mode_switch。这似乎与插入特殊字符有关。

我把它分配给一个键,但似乎没有效果。它是做什么用的?它有什么不同吗ISO_Level3_Shift(替代语)

答案1

Mode_switchAltGr是在许多键盘布局上调用的键的旧式(XKB 之前)名称。它与 类似Shift,因为当您按下与某个字符对应的键时,如果同时按下Shift或 ,您会得到一个不同的字符。AltGr与 不同的是ShiftMod_switch它不是 X11 意义上的修饰符,因为它通常适用于字符,而不是功能键,因此应用程序只需执行字符查找即可获得所需的效果。

ISO_Level3_Shift是该密钥的 XKB 版本。一般来说,XKB 要复杂得多,并且可以做一些额外的花哨的事情。 XKB 的机制更加通用,因为它允许键盘布局发生变化,其中哪些键受哪些修饰符影响,它概括了粘滞(CapsLock-style)和同时按下(Shift-style)修饰符等。

答案2

这个答案并不是要与@Gilles的答案相矛盾,而是要描述另一个方面我觉得他的回答中的输入处理“未得到充分说明”。

您可以同时使用ISO_Level3_Shift(Alt-Gr) 和Mode_switch结果不同。它需要一些配置,但您可以同时拥有它们,并使用它们来生成6每个物理键盘键都有不同的键!

例如,您可以将其配置TabMode_switch持有时 ,那么例如键盘上标记为“H”的键可以产生以下字符/键:

h
H
← (Cursor)
← (Symbol)

with H
with ShiftH
with AltGrH
with AltGrShiftH
with TabH
with TabShiftH

所以,回到你的问题:IL3SMode_switch可以配置为表示不同的东西,所以你可以有光标键和约 200 个有用字符来自(重音)语言、方框图和技术字符集35键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'

答案3

Mode_shiftXkb 中的 是组或布局的 Shift 键。如果您的布局包含多个组,则可以按住此键访问下一组。如果您有多个布局,则可以按住此键在布局之间切换 (†1)。

Mode_shift分组也是如此(Shift或者Shift_LShift_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钥匙的含义

吉尔斯提到他的回答与密钥的连接 AltGr

Mode_switchAltGr是在许多键盘布局上调用的键的旧式(XKB 之前)名称。

这让我怀疑“AltGr”可能代表“替代/替代组”,因为Mode_switch用于转移组。然而事实证明这是错误的。根据 AltGr关于钥匙的维基百科页面,“AltGr”似乎来自IBM键盘,在他们的手册中说它是“Alternate Graphics”的缩写。这是有道理的,因为使用键盘绘制“图形”(文本用户界面中使用的框画字符)似乎早在对多个脚本之间快速切换的良好支持之前就出现了。

相关内容