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 或 ~/` 键。重新定义键的状态变化的输出超出了 的范围。xev
a
shift+a
xmodmap
我不知道具体该怎么做,但我认为创建键盘定义是正确的方法。如果我弄清楚如何做到这一点,我会提供更多帮助。也许这会让您走上正确的道路。
答案3
我在其他地方读到 Ubuntu 不再使用 xmodmap。它改用 xkb。这篇文章中有一些相关信息:
但是,我仍在使用 12.04LTS,我想交换 Esc 和 Grave 键。我使用 xmodmap 进行了此操作,并且成功了。
我创建了一个运行 xmodmap 的小脚本,并在我登录时运行该脚本。xmodmap 命令如下:
xmodmap -e "keycode 49 = Escape"
xmodmap -e "keycode 9 = grave asciitilde"
我不知道这个解决方案是否适用于 Ubuntu 12.04 以上的版本。