私の欲しているCTRLキー設定
- Capsキーは要らない
(必要性について国民投票したら負ける気がしない) - CtrlキーはAの横派
(私が時を巻き戻すことができるのなら、初めにCtrlキーをキーボードの左下に置いた人間に考え直すよう直談判する) - 左の親指でCtrlキー(通常Alt/Metaキーが鎮座)を押すと、信じられないぐらいに楽なことを知ってしまった
(普段使用しているエディタはVimでEmacs使いではないので、Alt(Meta)は多少離れていても問題ない)
ポイント
- キーの置き換え・入れ替えの設定は「setxkbmap」コマンドで行う
- X起動時に設定するコマンドを実行する方法は、環境によって異なる
試した環境
- Ubuntu 19.04
手順
1. setxkbmapによるCtrlキーの置き換え・入れ替え
「CapsキーのCtrlキーへの置き換え」と「左Altキーと左Ctrlキーの入れ替え」は下記のオプションが予め定義されているのでそれを使えば良い
- 「ctrl:nocaps」 CapsキーをCtrlキーに置き換える
- 「ctrl:swap_lalt_lctl」 左AltキーとCtrlキーを入れ替える
上記オプションを「setxkbmap」実行時に指定する
$ setxkbmap -option "ctrl:nocaps" -option "ctrl:swap_lalt_lctl"
設定ができたかどうかはsetxkbmap -print
で確認する (xkb_symbols)
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
★xkb_symbolsに指定したctrl(nocaps)とctrl(swap_lalt_lctl)が追加されていることが確認できる
xkb_symbols { include "pc+us+us:2+inet(evdev)+ctrl(nocaps)+ctrl(swap_lalt_lctl)" };
xkb_geometry { include "pc(pc105)" };
};
2. X起動毎にこの設定を有効にする
Ubuntuの場合
「gnome-session-properties」を起動、「追加(Add)」を押して「setxkbmap -option "ctrl:nocaps" -option "ctrl:swap_lalt_lctl"」を追加する
その他の場合
最近のRaspbianでは、LXDEベースだった頃の~/.config/lxsession/LXDE-pi/autostart
が使えないので、シェルスクリプトに書いて、systemdにサービスとして登録して実行する
メモ
-
CapsキーへのCtrlキーの置き換えは
/etc/default/keyboard
のXKBOPTIONSに「ctrl:nocaps」を指定して実現していましたが、複数のオプションを指定した場合、最初のものしか有効とならなかった -
/usr/share/X11/xkb/symbols/にsetxkbmap
の設定項目がファイルとして置かれている -
ctrlのオプション項目の定義とその内容は
/usr/share/X11/xkb/symbols/にsetxkbmap/ctrl
にかかれている -
既存のオプション以外の設定がしたければ、ここを書き換えるなりすれば良さそう
-
あくまでも個人の感想です。