我的目标是使用 Wayland 显示服务器永久重新映射CAPSLOCK到Ubuntu 22.04.3 下的密钥。ESC
第二个要求是无需安装额外的软件。
我需要 VIM,以便快速有效地使用文本编辑器。
我尝试了几种方法,但由于我不是经验丰富的 Linux 用户,所以失败了。
我尝试的第一件事是本文。
那里写着执行以下命令:
setxkbmap -option caps:escape
以便重新映射CAPSLOCK到ESC,它甚至可以暂时起作用。
我检查结果这里。
但正如文章所说,映射只是暂时的。
因此,我将通过编辑文件使其永久生效/etc/default/keyboard
。如下所示:
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:escape"
BACKSPACE="guess"
# https://thesynack.com/posts/persistent-capslock-behavior/
# https://askubuntu.com/questions/363346/how-to-permanently-switch-caps-lock-and-esc
但是 Ubuntu 重启后它仍然不起作用,我不明白为什么?
我使用的这篇文章是否专门用于重新映射CAPSLOCK到ESCX11?
因为我使用的是 Wayland 显示服务器。它是我的 Ubuntu Ubuntu 22.04.3 中的默认设置。
我也仔细读过这个问题在这里以及提供的所有答案。尽管有很多知识和公认的答案,但整个线程已经有 10 年的历史了 - 早在 Wayland 成为 Ubuntu 中的默认显示服务器之前 - 因此我觉得可以再次提出这个问题。
答案1
在使用电脑两天并经过 4 或 5 次电源开关循环后,它开始像我最初希望的那样CAPSLOCK作为按键工作。ESC
我没有做任何超出问题描述的事情。我不知道为什么这个/etc/default/keyboard
文件编辑在第一次重启电脑后没有生效。但我很高兴它终于开始正常工作了描述在这里。
你可能还想检查另一个文件,但不能编辑。
这是/usr/share/X11/xkb/rules/base.lst
文件。
您可以找到有关如何CAPSLOCK更改行为的所有选项。以下是可能性的简短列表:
ctrl:nocaps Caps Lock as Ctrl
ctrl:swapcaps Swap Ctrl and Caps Lock
ctrl:swapcaps_hyper Caps Lock as Control, Control as Hyper
caps:swapescape Swap ESC and Caps Lock
caps:escape Make Caps Lock an additional Esc
caps:escape_shifted_capslock Make unmodified Caps Lock an additional Esc, but Shift + Caps Lock behaves like regular Caps Lock
caps:super Make Caps Lock an additional Super
caps:ctrl_modifier Caps Lock is also a Ctrl
如果您想自己使用grep
该文件,请尝试以下命令:/usr/share/X11/xkb/rules/base.lst
grep "caps" /usr/share/X11/xkb/rules/base.lst
我的最终/etc/default/keyboard
文件内容(永久重新映射CAPSLOCK到ESCUbuntu 22.04.3 下的密钥)如下:
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:escape"
BACKSPACE="guess"
# https://thesynack.com/posts/persistent-capslock-behavior/
# https://askubuntu.com/questions/363346/how-to-permanently-switch-caps-lock-and-esc
但正如我在一开始所说的,它只在 2 天和 4 或 5 次开关机循环后才开始工作 -我不知道为什么它从一开始就不起作用。
还这个帖子非常有帮助并提供了大量有关 Linux 下重新映射键如何工作的信息。
另外,我发现了这段话在同一个线程中上面我已经推荐过了。
在 Debian 系统中, 的更改/etc/default/keyboard
不会立即对 X 可见。您应该重新启动系统,或使用sudo udevadm trigger --subsystem-match=input --action=change
。
https://linux.die.net/man/8/udevadm
为了在控制台上激活更改,请运行setupcon
(1)。