用 ` 键替换 esc 键的最简单方法

用 ` 键替换 esc 键的最简单方法

Esc交换钥匙和钥匙功能的最简单方法是什么`
系统➜偏好设置➜键盘➜布局➜选项让我交换我的Ctrl钥匙和Capslock钥匙,这很好,但它似乎不允许我以通用的方式做其他钥匙。

xmodmap被接受的答案这里很有用。现在我的`键在物理Esc键上,反之亦然。问题是当我Shift+时Esc,我仍然只得到一个`,而我想要得到一个波浪号。

答案1

您需要遵循 Andy Meier 在 ubuntuforums 上列出的五点说明: http://ubuntuforums.org/showthread.php?p=10286878#post10286878

您必须在 /usr/share/X11/xkb/symbols/mynewlayout 中修改的键是:

key <ESC> {[ quoteleft, asciitilde ] };

key <TLDE> {[ escape ] };

然后,您必须按照论坛上的说明注册此新布局。祝您好运。

答案2

Xmodmap 替换键码。不是不同的键。按下和时shift+esc检查 的输出。您会发现状态从 0x0 变为 0x1,而键码保持不变。您想要做的是更改键的定义,而不仅仅是添加 A/a 或 ~/` 键。重新定义键的状态变化的输出超出了 的范围。xevashift+axmodmap

我不知道具体该怎么做,但我认为创建键盘定义是正确的方法。如果我弄清楚如何做到这一点,我会提供更多帮助。也许这会让您走上正确的道路。

答案3

我在其他地方读到 Ubuntu 不再使用 xmodmap。它改用 xkb。这篇文章中有一些相关信息:

Ubuntu 13.04 中的永久 xmodmap

但是,我仍在使用 12.04LTS,我想交换 Esc 和 Grave 键。我使用 xmodmap 进行了此操作,并且成功了。

我创建了一个运行 xmodmap 的小脚本,并在我登录时运行该脚本。xmodmap 命令如下:

xmodmap -e "keycode 49 = Escape"
xmodmap -e "keycode 9 = grave asciitilde"

我不知道这个解决方案是否适用于 Ubuntu 12.04 以上的版本。

相关内容