如何为 Linux 创建自定义键盘布局?

如何为 Linux 创建自定义键盘布局?

理想情况下,我正在寻找一个 GUI 工具,也许是一个 Web 应用程序,但是有关为键盘布局创建文本定义的良好文档也很棒。这里的正常程序是什么?

这个问题,提问者已经决定使用“setxkbmap”。这是推荐的方式吗?我可以将布局添加到例如 git 存储库中,以便我可以根据需要随时对其进行更改吗?

答案1

您可以使用以下命令编辑键盘映射X键帽。从好的方面来说,XKeyCaps 是一个 GUI,而且非常成熟。 XKeyCaps 的一个缺点是它只是旧式 X 窗口键盘映射界面的前端,xmodmap,而不是现代界面,XKB

如果你愿意的话,使用 xmodmap 是完全可以的,但它没有 XKB 那么强大。 xmodmap 缺乏的 XKB 功能包括:

  • 更好地处理修饰符。 X11 有许多与修饰符相关的怪癖,包括 CapsLock 和 NumLock 被视为修饰符。我用 XKB 做的一个不能与 xmodmap 一起使用的事情的一个例子是,我创建Alt+ CapsLockbe Lock(这就是 X11 拼写 Caps Lock 的方式),但不创建 + beCapsLock本身。 xmodmap 无法做的另一件事是让不同的修饰符集影响不同的键,例如拥有ShiftAltGr影响可打印字符,但Ctrl影响Alt功能键。
  • XKB 由可组合的模块组成。 Xmodmap 是整体的。这对于想要组合预定义设置的人来说非常有用(“给我一个匈牙利语键盘,其中 Ctrl 和 CapsLock 互换,Alt+WindowsMenu,以及 Sun 5 键盘的键码”),但您不会在意,因为您制作您自己的布局。
  • 如果热插拔键盘,XKB 系统默认值将重新应用。这也是一个 XKB 限制,因为系统重新应用默认值,而不是您的用户设置。
  • XKB 对非字母语言或多脚本输入有更好的支持。我无法提供详细信息,因为这不是我熟悉的话题。
  • 有一些工具可以在布局之间快速切换(例如,具有特定于窗口的布局)或指示仅适用于 XKB 的当前键盘布局。
  • 我不确定 Wayland 是否支持 xmodmap。

网络上有一些 XKB GUI 编辑器,但我能找到的所有这些都是很快就被放弃的项目,并且不像 XKeyCaps 那样容易安装。例如,我找不到带有 Ubuntu 软件包的软件。

如果您决定手动编写键盘映射,xmodmap 的优点是它非常简单。您可以阅读手册页,也许看一个示例,您将很快理解除了修饰符的微妙之处之外的所有内容。如果您不知道如何使用 xmodmap 做到这一点,那可能是不可能的。 XKB 的优势再次在于它更强大。 XKB 的缺点是它很复杂并且文档很少。如果您想走这条路,建议阅读以下内容:

无论您选择哪种方式,键盘映射源都是一个文本文件或一组文本文件,可以很好地与版本控制配合使用。

相关内容