如何永久切换 Caps Lock 和 Esc

如何永久切换 Caps Lock 和 Esc

我如何才能永久切换Saucy 中的Caps LockEsc键功能?我可以使用此命令暂时执行此操作(直到重新启动):

/usr/bin/setxkbmap -option "caps:swapescape"

我尝试将该命令添加为启动应用程序,但它似乎没有执行任何操作。

答案1

另一种方法是通过dconf-editor。此方法比 多了几个步骤gnome-tweak-tool,但如果您不想从调整工具中提取依赖项,则很有用。

这将允许您使用语法caps:swapescape并自动使更改永久生效。

sudo apt-get install dconf-tools

在 Ubuntu >20.04 上,你需要运行以下命令 - 请参阅这个帖子

sudo apt install dconf-cli dconf-editor

启动后dconf-editor,导航至org >> gnome >> 桌面 >> 输入源

在 中添加所需的选项xkb-options。选项字符串用单引号括起来,并用逗号分隔。注意不要删除末尾的括号。

dconf-editor 中的 xkb-options

您可以使用此方法输入大多数传统的 xkb 选项,这些选项在系统设置>>文本输入。例外是切换键盘布局的设置,由于存在错误,该设置目前无法使用。

要查看选项和语法的列表,请man 7 xkeyboard-config在终端中使用。

可以使用的另一个常见选项是允许terminate:ctrl_alt_bksp++ctrl结束X-session。altbackspace

答案2

适用于大多数 Linux 发行版的解决方案:

setxkbmap -option caps:swapescape

还有其他可能的选择:

  • caps:none停用
  • caps:escape使其成为一次额外的逃脱
  • caps:super使其成为一个额外的超级(Windows)键。

使其在启动时工作,您可以将其放入,~/.profile因为它只会在交互式登录后运行。

如果登录之间切换不持久(例如,当暂停您的机器时),您还可以.xinitrc在主目录中创建一个文件并将其放在那里。笔记本电脑上的 Linux mint 20 可以完美地使用此选项。


如果上述方法无效,请使用/etc/X11/xorg.conf.d/00-keyboard.conf(请参阅man xorg.conf“说明”以了解所有可用路径)。它应该适用于睡眠后重新连接的蓝牙键盘。

Section "InputClass"
        MatchIsKeyboard "on"
        Option "XkbOptions" "caps:escape"
EndSection

man xkeyboard-config

答案3

好的,找到了使用 gnome-tweak-tool 执行此操作的方法。

从终端运行

sudo apt-get install gnome-tweak-tool -y && gnome-tweak-tool

您可以在“打字 -> Caps Lock 键行为”中找到交换 Caps Lock 和 Esc 的选项。

更新:在 Ubuntu 18.04 和 20.04 中,可以在“键盘和鼠标”>“其他布局选项”>“大写锁定行为”中找到它(感谢下面 Adracus 的评论)

答案4

类似于@Radu的回答,但与 14.04 兼容(另请参阅这个答案)。

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keycode 9 = Caps_Lock NoSymbol Caps_Lock"
xmodmap -e "keycode 66 = Escape NoSymbol Escape"
xmodmap -pke > ~/.xmodmap

如果不起作用,请替换:

xmodmap -e "remove Lock = Caps_Lock"

和:

xmodmap -e "clear Lock"

相关内容