添加另一个修饰键

添加另一个修饰键

我对 Ubuntu(和 Linux)还不太熟悉,我最先想做的事情之一就是重新映射某些键,因为有些键位于“不需要的”位置。我以为这不会太难,但在阅读文档并多次重定向后,我最终以 root 身份登录并修改 evdev 文件/usr/share/X11/xkb并更改键码。

显然,你可以在启动时配置默认键盘,但由于我花了很长时间才了解整个系统,所以我还没有尝试过。看来这实际上可以以“正确”的方式配置默认键盘。

现在我想知道是否可以添加另一个与另一个键(例如)绑定的修饰键(例如 Ctrl)<CTL2>,但已经使用了 2 个修饰键(换句话说,我已经使用了 2 个 Ctrl 键,但想要一个另外的键,它可以充当左 Ctrl 键或右 Ctrl 键)。

系统信息

Ubuntu 17.04 (kernel information: Linux 4.10.0-37-generic #41-Ubuntu SMP Fri Oct 6 20:20:37 UTC 2017)
X Keyboard Extension (XKB) configuration data v.2.19

答案1

不幸的是,据我所知,没有关于如何配置 XKB 的真正好的文档。但是您链接的答案不适用于您的特定问题吗?

您可以通过运行以下命令来查看调整 XKB 的可用选项:

man xkeyboard-config

从终端向下滚动。这是我在回答另一个问题之前所做的。:)

答案2

我确实找到了解决问题的方法。目前我还不知道有其他解决方案,所以我想在这里分享一下。

evdev开始更改文件的原因usr/share/X11/xkb/keycodes是,我不明白为什么在启动过程中添加另一个键盘布局(使用不同的配置文件)时似乎没有发生变化,这让我很沮丧。有很多帖子谈到更改键码,正是从这个角度出发,我最终决定在 中更改它们evdev

为了实现这个目的:

  1. 将修饰键(例如<SHF2>)添加到您的evdev文件中(或者如果您已经构建了自定义键盘布局,则需要在其中进行更改)。
  2. 然后,根据修饰键,您需要将其添加到-filemodifier_map中的。现在,据我所知,该条目需要与最后添加的键相反。因此,默认情况下,后一个键是右 Shift 键或右 Control 键。因此,添加的修饰键需要是左 Shift 键或左 Control 键,如下所示:pcusr/share/X11/xkb/symbols

    key <SHF2> { [ Shift_L ] };

    modifier_map Shift { Shift_L, Shift_R, <SHF2> };

  3. 重新启动。(如果您知道如何在不重新启动的情况下重新配置这些更改,则可能不需要此步骤)

笔记:我在这里只使用了 Shift 和 Control 修饰键。如果您想添加另一个 Alt 键(基于左 Alt 键的行为),则需要更改 -filealtwinusr/share/X11/xkb/symbols添加行:(key <ALT2> { [ Alt_L, Meta_L ] };其中<ALT2>是您在自定义键盘布局文件中指定或以其他方式配置的名称evdev)到此文件并“重新配置”/重新启动。

相关内容