web-dev-qa-db-ja.com

Arch LinuxでCaps LockキーをEscapeキーにマッピングする方法

私のOSはArch Linux AMD64、Gnome ENVです。

マッピングしたい Caps Lock への鍵 Esc (エスケープ)Arch Linux。私はコマンドを実行します:

xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'

うまく機能しますが、しばらくすると、Caps Lockキーが再び機能します。そして、もう一度コマンドを実行する必要があります。

このソリューションはおそらく1年前にうまく機能したと確信しています。私の問題は何ですか?私のArch Linux OSでCaps LockキーをEscapeキーに永久にマッピングするのを手伝ってくれる人はいますか?

25
pexeer

次のいずれか(複雑さの昇順):

  1. setxkbmap を使用してキーを再マッピングします(デーモンは必要なく、デスクトップ環境やウィンドウマネージャーから独立しています)。 exec gnome-sessionまたは~/.xinitrc~/.xsession(または同様の)行の前にコマンドを追加することを忘れないでください。

    setxkbmap -option caps:escape
    

setxkbmapはパッケージ extra/xorg-setxkbmap にあります。

  1. dconf-editororg.gnome.desktop.input-sources.xkb-optionscaps:escapeを前述のフィールドに追加します。
  2. gnome-session-settings→スタートアッププログラム→追加→名前=エスケープするためにキャップスロックを再マップ、コマンド= setxkbmap -option caps:escape
  3. カスタムキーボードレイアウトを作成する

参考までに、XKBルールは grep ping /usr/share/X11/xkb/rules for capsescで取得しました。

49
pilona

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
5
jasonwryan

Xorg.conf

これを行うには、ファイル/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を指定できます。たとえば、escとcapsを交換するためにcaps:swapcaps,terminate:ctrl_alt_bkspを使用できますが、Xを強制終了することもできます CtrlAltBackspace。この詳細については、man xkeyboard-configをご覧ください。

GUI

GNOME Tweak Tool(gnome-Tweak-toolパッケージ)を使用することもできます。 Typingをクリックし、Ctrl positionメニューから好きなものを選択するだけです(下の画像を参照)。

enter image description here

3
styrofoam fly

Xmodmapを使用できます。あなたの~/.Xmodmap

remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

(Xを開始するときに必ず~/.Xmodmap

2
uzsolt

ファイル/etc/X11/xorg.conf.d/00-keyboard.confは、systemd-localedを使用して自動生成することもできます。次のコマンドを使用します。

localectl set-x11-keymap us "" "" caps:escape

または、他のいくつかの便利なオプションを含めます。

localectl set-x11-keymap us,de "" "" caps:escape,grp:alt_caps_toggle,grp_led:caps,lv3:ralt_switch_multikey,terminate:ctrl_alt_bksp,eurosign:e,rupeesign:4

簡単な説明:

  • CapsLk 機能する Esc
  • 2つのキーボードレイアウトを切り替えるus/de with Alt+CapsLk
  • CapsLk[〜#〜] led [〜#〜]は、アクティブなレイアウトを示します
  • 右Alt(RAlt)は「マルチキー」です( Compose Key を参照)
    • RAlt+eを生成します
    • RAlt+4を生成します(どのように Shift+4$)を生成します
  • Ctrl+Alt+Backspace Xを殺す
0
friederbluemle

!上記の回答が機能しない理由はわかりません。ここに私のために働くものがあります。 〜/ .Xmodmap

! 66 is the keycode of Caps_Lock
clear    Lock
keycode  66 = Escape 

その後

$ xmodmap ~/.Xmodmap

FedoraとGnome以外のウィンドウマネージャーを使用しています。 HTH

0
John Chain