Xorg配置文件

Xorg配置文件

我的操作系统是 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

以下任一项(按复杂程度递增顺序):

  1. 使用setxkbmap重新映射键(不需要守护进程,并且独立于您的桌面环境或窗口管理器)。不要忘记在或中的(或类似)行之前添加exec gnome-session命令:~/.xinitrc~/.xsession

     setxkbmap -option caps:escape
    

    setxkbmap可以在包中找到extra/xorg-setxkbmap

  2. dconf-editororg.gnome.desktop.input-sources.xkb-options→ 添加caps:escape到上述字段。

  3. gnome-session-settings→ 启动程序 → 添加 → 名称=将 caps lock 重新映射到 escape,命令=setxkbmap -option caps:escape

  4. 创建自定义键盘布局

仅供参考,我通过以下方式获得 XKB 规则grep/usr/share/X11/xkb/rulescaps和进行 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/yourmaptar/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

相关内容