为什么键盘有 4 种布局的限制?

Mus*_*oon 9 keyboard keyboard-layout

我刚刚发现我不能为我的键盘添加 4 个以上的布局。谷歌搜索显示这是一个普遍的限制(至少对于 GNU/Linux),绕过它的唯一方法是对脚本使用一些hackish 方式。这背后真的有技术原因吗?如果是,那是什么?

hto*_*que 10

引用 Peter Hutterer(在 X.Org 工作的红帽员工):

有关此功能的一些信息及其尚未实现的原因: Te 4 组限制是由协议线格式强制执行的。对超过 4 个组的支持只能通过向 XKB 添加额外的请求和事件并重写客户端以切换到这个新的 XKB 版本来添加。此外,必须确保与旧协议的兼容性,以便当前的 XKB 客户端仍能在新的 XKB 版本下正常运行。

这既复杂又非常耗时。解决这个问题的志愿者当然是非常受欢迎的。

[...]

它在协议的某些位中编码,其他位用于其他信息。因此,对于大于 4 的任何内容,您都需要在请求/事件中添加额外的字节,并且添加额外的字节需要破坏协议。然后你必须处理那些只理解 4 个组的客户,以及如果键盘在第 5 组上怎么处理它们。

为什么我们在这一层之上没有 hack - 我不知道......这一定是有史以来最蹩脚的限制。:D