keyboard – Arch Linux で Caps Lock キーを Escape キーにマップする方法

arch-linux keyboard keymap xmodmap

私のOSはArch Linux amd64、Gnome ENVです

Arch LinuxでCaps LockキーをEsc(エスケープ)にマッピングしたい。コマンドを実行してみました

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

うまくいくのですが、しばらくしてまたCaps Lockキーが効いてしまいます。そして、もう一度コマンドを実行しなければならない

この解決策がうまくいったのは、たぶん1年前のことだと思います。私の問題は何ですか?Arch Linux OSでCaps LockキーをEscapeキーに永遠にマップする方法を誰か教えてくれませんか?

  33  None  2013-03-16


ベストアンサー

以下のいずれか(複雑度の高い順)

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

     setxkbmap -option caps:escape
    

    setxkbmapextra/xorg-setxkbmap パッケージにあります

  2. dconf-editororg.gnome.desktop.input-sources.xkb-options → 前述の欄にcaps:escapeを追加します

  3. gnome-session-settings → スタートアッププログラム → 追加 → 名前=エスケープにキャップロックをリマップ、コマンド=setxkbmap -option caps:escape

  4. カスタムキーボードレイアウトを作成する

参考までに、grep/usr/share/X11/xkb/rulescapsescにpingしてXKBルールを取得しました

55  pilona  2013-03-19


X で使うために、Arch Wiki Gnome のページには XkbOptions でキーボードを変更する方法が書かれています

dconf-editor を使って、org.gnome.desktop.input-sources.xkb-options という名前のキーに移動し、必要な XkbOptions (例: ‘caps:swapescape’ ) をリストに追加します

コンソールでは、カスタムキーマップを作成して、同じ効果を得ることができます。CapsLockEscape/usr/share/kbd/keymaps/i386/qwerty/yourmap で必要な変更を加えた個人用キーマップを作成し、tar でそれを呼び出し、/etc/vconsole.conf にそれを呼び出すための行を入れてください

KEYMAP=yourmap

5  None  2013-03-16


Xorg.conf

ファイル/etc/X11/xorg.conf.d/00-keyboard.confを編集することで実現できます

Example file:

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 をスワップし、CtrlAlt Backspace で X をキルすることもできます。これについての詳細は man xkeyboard-config にあります

GUI

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

enter image description here

5  styrofoam fly  2017-08-10


xmodmapが使えます。自分の~/.Xmodmapを入れます

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

(開始時にXはあなたの~/.Xmodmapを使用することを確認してください)

2  uzsolt  2013-03-16


また、/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

Quick explanations:

  • CapsLkEscとして機能します
  • Alt+CapsLkで2つのキーボードレイアウトus/deを切り替えます
  • CapsLk LED は、どのレイアウトがアクティブであるかを示します
  • 右Alt (RAlt) は「マルチキー」です (キーを構成 を参照)
    • RAlt+eを生成します
    • RAlt+4を生成します(Shift+4$を生成するのと似ています)
  • Ctrl+Alt+BackspaceがXを殺す

1  friederbluemle  2018-11-27


!上の答えがなぜ機能しないのかわからない。これは私のために動いているものです。あなたの~/.Xmodmap

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

and then

$ xmodmap ~/.Xmodmap

Fedoraを使っていて、Gnomeではないウィンドウマネージャを使っています。HTHです

0  John Chain  2013-10-20


タイトルとURLをコピーしました