如何在 xkb 中完全自定义键盘修改器?

如何在 xkb 中完全自定义键盘修改器?

我正在使用装有 Arch Linux 的 ThinkPad 笔记本电脑,并且正在研究重新映射键盘布局 + 修饰符的可能性。

我想做的与你可以做的类似QMK固件键盘上有多层。但不依赖于特定的硬件。

我发现了一些不同的方法来做到这一点,例如:

KLFC 看起来非常简单直接,但我遇到了一些我不明白的问题,所以我决定深入挖掘一下。

然后我发现(可能)最基本的方法是使用xkbX11然后继承我想要的布局,并根据我的需要进行修改。

/usr/share/X11/xkb我专门在目录中查看了系统文件,symbols在该目录中我一直在不同的文件中进行查看,并且我找到了 1996 年有关“xkb”API 的一些文档,但我还没有阅读全部内容。这就是我来这里寻求帮助的原因。

我发现符号文件遵循特定的模式。

key <AE01> {    [     1,    exclam      ]   };

所以 AE01 是第一行的第一个键,它看起来像structC 中的 a,带有列表作为属性。

列表的顺序取决于我想要修改的内容——这是我的问题。

列表中的第一个位置1意味着如果我单击按钮而不使用任何修饰符,那么1将被打印到标准输入,这exclam意味着如果我使用修饰键Shift(或capslock),那么!将被发送到标准输入

我想定义我自己的修饰键(锁定和锁定)。也许有 10 个不同的修饰键。其中一些(锁定)像caps lock,一些(锁定)像shiftor ctrl,我希望它们是独立的(原始的),这样我就不必使用已经定义的东西。

我还想让一些(修饰键)+(它们修改的内容)在“更深层次”上一起行动。例如,我正在使用i3我使用winKey+ n(0..9) 在桌面之间切换,然后当我移动字母下的数字并使用caps lock+ (一些字母)获取数字时,然后使用快捷方式xkb与中的快捷方式冲突i3而我什么也没得到。

我想如果我读完 1994 年 xkb 的所有旧文档,我就会知道如何做到这一切,但我希望找到一些不错的清晰教程,或者提示,这将让我开始,而不必花费整个时间xkb教育。 :)

相关内容