XKB中的规则优先级

时间:2015-10-01 16:32:34

标签: keyboard-layout

我定制了笔记本电脑的键盘布局,以便使用两个" dummy"键。标准键盘驱动程序不管理这些异常键。我首先在 systemd 服务中使用setkeycodes命令启用它们。

接下来,我编写了一个部分符号键映射来描述我在这两个键下使用plain(no),shift,altgr和shift + altgr修饰符组合所需的字符。

记录添加到 evdev.lst 的位置,以便通过桌面键盘配置工具选择我的变体。

evdev 中的规则(或更确切地说是一行或两行)被添加来描述我的布局。

到目前为止,一切正常:可以选择或取消选择键盘变体,未更改的键可以发送标准字符。如果还按下了修改键,则新的自定义键会发送预期的字符。但是,"普通" key不发送任何字符。

我使用setxkbmap -print转储了键盘配置,以确定符号的规范不正确:

xkb_symbols { include "pc+fr(mycustomkeyboard)+inet(evdev)+..." };没有跳过相关信息并用省略号代替)

上述规范意味着来自inet(evdev)的定义将覆盖我的定义。我的一个密钥在其普通插槽中接收 XF86MenuKB ,另一个 XF86Calculator

正确的规范是:

xkb_symbols { include "pc+inet(evdev)+fr(mycustomkeyboard)+..." };

问题:

有没有办法优先在文件 evdev 中的部分规则中实现正确的包含顺序?

如果不是:

模式匹配规则是否按照文件中列出的顺序应用?

我们可以有几个具有相同模式的部分吗?换句话说,后面的部分是否覆盖了前一部分,还是作为附加部分合并到前一部分?

可能相关的问题:

以下(我自己的帖子未回答)问题似乎抱怨同样的问题: Override inet using xkb under Linux

0 个答案:

没有答案