我的操作系统是 Arch Linux amd64,Gnome ENV。
我想在 Arch Linux 中将Caps Lock键映射到Esc(escape)。我运行以下命令:
xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
它运行正常,但过了一会儿,Caps Lock 键又能用了。我必须再次运行该命令。
我很确定这个解决方案在一年前效果很好。我的问题是什么?有人能帮我将 Caps Lock 键永久映射到 Arch Linux 操作系统中的 Esc 键吗?
答案1
以下任一项(按复杂程度递增顺序):
使用
setxkbmap
重新映射键(不需要守护进程,并且独立于您的桌面环境或窗口管理器)。不要忘记在或中的(或类似)行之前添加exec gnome-session
命令:~/.xinitrc
~/.xsession
setxkbmap -option caps:escape
setxkbmap
可以在包中找到extra/xorg-setxkbmap。dconf-editor
→org.gnome.desktop.input-sources.xkb-options
→ 添加caps:escape
到上述字段。gnome-session-settings
→ 启动程序 → 添加 → 名称=将 caps lock 重新映射到 escape,命令=setxkbmap -option caps:escape
仅供参考,我通过以下方式获得 XKB 规则grep/usr/share/X11/xkb/rules
对caps
和进行 ping esc
。
答案2
Xorg配置文件
您可以通过编辑文件来实现这一点/etc/X11/xorg.conf.d/00-keyboard.conf
。
示例文件:
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us"
Option "XkbModel" "pc104"
Option "XkbOptions" "caps:swapescape"
EndSection
您可以指定多个 XkbOptions,例如,caps:swapcaps,terminate:ctrl_alt_bksp
用于交换 esc 和 caps,但也允许使用 来杀死 X。CtrlAlt Backspace您可以在 中找到有关此内容的更多信息man xkeyboard-config
。
图形用户界面
您也可以使用 GNOME Tweak Tool(gnome-tweak-tool 包)。只需单击Typing
,然后从Ctrl position
菜单中选择您喜欢的任何内容(见下图)。
答案3
对于使用X
,Arch Wiki Gnome 页面提供了使用 XkbOptions 修改键盘:
使用 dconf-editor,导航到名为 org.gnome.desktop.input-sources.xkb-options 的键并将所需的 XkbOptions(例如“caps:swapescape”)添加到列表中。
在控制台中,您可以创建一个自定义键盘映射CapsLock达到同样的效果。创建您的个人键盘映射,并对和进行必要的更改,然后Escape添加一行来调用它:/usr/share/kbd/keymaps/i386/qwerty/yourmap
tar
/etc/vconsole.conf
KEYMAP=yourmap
答案4
您可以使用 xmodmap。输入您的~/.Xmodmap
:
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
(确保在启动 X 时将使用你的~/.Xmodmap
)