xkbcomp 抱怨 xkb_keycodes 部分中的语法错误

xkbcomp 抱怨 xkb_keycodes 部分中的语法错误

在开始了解 xkb 作为创建我自己的个人键盘布局的准备时,我创建了一个 xkb 配置文件。这是(开始的代表性部分强文本) 我的 X 键盘配置文件:

xkb_keymap {
        xkb_keycodes "de|ru" {
                minimum = 8;
                maximum = 255;

[...]
                <F11>         =  95; // <FK11>
                <F12>         =  96; // <FK12>
//              <SYSRQ>       = 107; // <PRSC>
//              <SCROLL_LOCK> =  78; // <SCLK>
//              <PAUSE>       = 127; // <PAUS>

//              <CIRCUMFLEX>  =  49; // <HZTG>, <TLDE>
                <1>           =  10; // <AE01>
                <2>           =  11; // <AE02>
[...]

现在,我尝试在辅助键盘上实际使用它,但是在运行命令时xkbcomp -i 12 $FILE $DISPLAY出现以下错误:

syntax error: line $LINE of $FILE
last scanned symbol is: $SYMBOL
Errors encountered in $FILE; not compiled.

SYMBOL 可以是 SYSRQ、SCROLL_LOCK、PAUSE 或 CIRCUMFLEX 中的任何一个(该列表稍后会在未粘贴的部分中列出)。当我注释掉此处所示的这些行时,xkbcomp 只是在解决以后的同类问题时失败。那么为什么我在 SYSRQ 上遇到语法错误,而在 ESC 或 F12 上却没有?这些行在语法上都是相同的。有保留名称吗?或者我可以使用的名字实际上是预先确定的?我在哪里可以找到这方面的有用文档? (我已经查阅了手册页和谷歌,提出了不完整且矛盾的教程,甚至没有透露为什么我会遇到这种错误。)

答案1

最接近我的描述来自X 键盘扩展:协议规范:

每个键都有一个四字节符号名。键名称链接具有相似功能或键盘上报告不同扫描码的相似位置的键。键别名允许键盘布局设计者为单个键分配多个名称,以便更轻松地使用其位置或“功能”来引用键。

名称通常只是位置,例如<AB02>表示左下角的 B 行键 2,如图所示不可靠的 XKB 配置指南部分关键代码PDF版本)。

相关内容