FOUR_LEVEL_SEMIALPHABETIC xkb 键如何工作?

ein*_*lum 5 xkb keyboard-layout

出于某种原因,我正在查看这个 xkb 符号文件,我看到一些键被指定为FOUR_LEVEL_SEMIALPHABETIC.

现在,它的定义types/caps是:

type "FOUR_LEVEL_SEMIALPHABETIC" {
    modifiers = Shift+Lock+LevelThree;
    map[None] = Level1;
    map[Shift] = Level2;
    preserve[Lock] = Lock;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level4;
    map[Lock+LevelThree] =  Level3;
    map[Lock+Shift+LevelThree] = Level4;
    preserve[Lock+LevelThree] = Lock;
    preserve[Lock+Shift+LevelThree] = Lock;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
};
Run Code Online (Sandbox Code Playgroud)

};

Lock意思是Caps Lock,对吗?好的。但是这个 LevelThree 的业务是什么?从文本中我认为可能是 Alt 键,但这似乎不起作用,即使用这些假定的布局 ( il) 之一,我没有使用 Alt 键输入 Level3 或 Level4 字符 - 我尝试了所有组合- 带/退出 Shift,大写锁定开/关。

我究竟做错了什么?

Jde*_*eBP 6

这个 LevelThree 的业务是怎么回事?

在涵盖计算机键盘的国际标准(集)ISO/IEC 9995 阐述的模型中,键可以有一个或多个级别。您可能会想到的“修饰键”在可用级别中进行选择,有时以复杂的方式进行。

(想想机械打字机的操作,shift键实际上将部分机构移动到不同的水平,而shift键经常机械地解锁“shift锁”。然后混合其他类型锁的想法,例如仅适用于键盘子集的键盘,例如主块或计算器键盘。)

有时级别是您在按键上看到的物理雕刻,有时(特别是在美国和欧洲雕刻和字母键的情况下)一个或多个级别是隐含的,但没有明确雕刻。

1 级未移位;级别 2 是⇧ Shift修饰符、移位锁存器、 a ⇫ Shift Lock、 aNum Lock或 a 的结果⇬ Caps Lock;3 级是某种“三级修饰符”的结果。

正如您从这个配置文件中看到的那样,存在一个“级别 4”约定(ISO/IEC 9995 的扩展),它是同时应用级别 2 和级别 3 转换的结果。

(此约定预先假定此组合一开始甚至可用。在某些键盘布局中,没有⇨ Group 2键,否则会选择“级别 4”的键改为选择第二,这是完整的替代布局它自己的一组 3 个移位级别。在实际的键顶上,第 2 组是右侧一到三个雕刻符号的第二列。某些系统中的很多复杂性源于试图假装第 2 组不存在,而第 4 组做。)

三级修饰符通常是⇮ AltGr键,位于空格键的右侧。在某些键盘上,生成相关 HID 代码的键(从键盘到主机的电线)带有标签⌥ Option,其物理位置(仍在右侧)略有不同。软件将其视为相同的键,无论雕刻和物理位置。顺便说一下,不要将它与空格键左侧的类似键混淆。那是一个不同的键。

然而,并非所有软件键盘布局都使该键成为级别修饰符。什么键是修饰键(有一个例外)完全由软件键盘布局决定。在某些软件键盘布局中,该位置的键被视为另一个⎇ Alt. 在这种情况下,如果不使用另一种键盘布局或修补当前的键盘布局,则无法键入 3 级移位,从而使某些键或键组合产生 3 级移位。

在 SI 1452 布局中,⇮ AltGr确实是 3 级移位,使用它您应该能够输入所有 Niqqud。我怀疑你把⎇ Alt和混为一谈了⇮ AltGr

进一步阅读