HarukaのMEMO

Linuxやプログラミング関係の備忘録

manjaro xfceでキーボードのCaps LockをEscに

キーボードレイアウト変更の方法

普段、どのLinaxを使う場合でもCaps LockをEscに変更しています。
長めのコーディングにはvscodeを使いますが、ちょっとしたものを書くのにはVimを使っていますので、Escキーを多用することになるからです。
そもそも、Caps Lockキーをどれくらいの人が使ってるのだろう、とは思いますが…。

変更方法を調べると記事は出ますが多くが海外のサイト。そして、やり方がたくさんあり、また、バージョンやデスクトップ環境によって効果の有る無しがあるみたいです。

とりあえず、私が試してみて、2018/07/23現在にうまくいった方法を残しておきます。

/etc/X11/xorg.conf.d/00-keyboard.conf の編集

以下のファイルを編集します。

sudo vim /etc/X11/xorg.conf.d/00-keyboard.conf 
ファイルの内容
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "jp"
        Option "XkbModel" "pc105"
	Option "XkbOptions" "caps:swapescape"
EndSection

元のファイルに以下のコードを追記しました。

        Option "XkbOptions" "caps:swapescape"

"XkbOptions" "caps:swapescape"の2つの間の半角スペースも重要みたいです。

/etc/default/keyboard の編集

以下のファイルも編集します。

sudo vim /etc/default/keyboard
ファイルの内容
XKBMODEL="pc105"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS="caps:swapescape"

BACKSPACE="guess"

こちらも元のファイルに以下のコードを追記しました。

XKBOPTIONS="caps:swapescape"


この2つの処理を行い、再起動することで反映されました。
もしかしたら、どちらか片方だけで良いかもしれませんが念のため。

caps:escapeではだめなのか

"caps:swapescape"ではなく"caps:escape"とすると、capsを追加のEscとして使えるので、そもそもCaps Lockを使わない自分ではこちらでも良かったのですが致命的な欠点がありました。

これだと、なぜかCaps Lockの機能は生きているというわけのわからないキーが誕生します。つまり、Escのつもりで押すとたしかにエスケープの振る舞いをするのですが、次の入力から大文字になっているという…^^;

なので、素直にswapしたほうがいいようです。
おわり。