重新映射键:在 Ubuntu 13.10 中大写锁定转义,反之亦然

Kri*_*anF 9 capslock remapping

我刚刚安装了 Ubuntu 13.10 并错过了交换转义键和大写锁定键的功能。它曾经可以通过 Ubuntu 12.04 中的 GUI 来实现。有谁知道我该如何解决这个问题?

谢谢您的帮助 :)

Pi *_*ort 10

您仍然可以从命令行直接访问底层 dconf 密钥,如下所示:

dconf read /org/gnome/desktop/input-sources/xkb-options
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"
Run Code Online (Sandbox Code Playgroud)

(立即生效。)

要启用多个 XKB 选项,请将它们列为逗号分隔的引号字符串;例如,我也使用Menu作为我的组合键:

dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape', 'compose:menu']"
Run Code Online (Sandbox Code Playgroud)

有关您可以使用的 XKB 选项的完整参考,请参阅xkeyboard-config手册页。


Eri*_*uff 2

过去(在 13.04 及更早版本中)您可以在主目录中创建一个名为 .Xmodmap 的文件,它将在登录时自动设置,但我尚未在 13.10 中对此进行测试。

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
Run Code Online (Sandbox Code Playgroud)

编辑:

现在在 13.10 中,我开始在 /usr/share/X11/xkb/symbols 中编辑 swapescape

partial hidden modifier_keys
xkb_symbols "swapescape" {
    key <CAPS> {        [       Tab, ISO_Left_Tab  ]       };
    key <ESC>  {        [     Caps_Lock    ]       };
    key <TAB>  {        [     Escape, Escape    ]       };
};
Run Code Online (Sandbox Code Playgroud)

这允许我使用 setxkbmap 在我的可编程键盘上使用 -variant basic ,否则使用 -variant swapescape 。


Kri*_*anF 1

我通过将以下命令放入其中并在每次重新启动时执行它来解决(某种程度上):

#! /bin/bash
xmodmap -e "clear Lock"
xmodmap -e "keycode 9 = Caps_Lock"
xmodmap -e "keycode 66 = Escape"
xmodmap -e "add Lock = Caps_Lock"
Run Code Online (Sandbox Code Playgroud)

不幸的是,我还需要在每次切换键盘布局时执行它,我经常这样做,因为这是我可以长期使用的任何解决方案。