Caps Lock を Ctrl に ( Ubuntu 8.10 )

キーボートレイアウトのオプションで

Caps Lockをもう一つのCtrlにする

とすると、たしかに、Caps Lock は Ctrl になる。

しかし、どうやらこのCaps Lock、実はまだ、Caps Lock の機能をもっている。

つまり、Caps Lock -> Caps Lock + Ctrl という変更をしているもよう。

通常はこれで問題ないと思われるが、emacs23を使っていたらうまく動かなかったので、

Caps Lock -> Ctrl への変更を試みる。

原理は良く分からないが、xmodmapというコマンドでキーマップを変更できるみたい。

% xmodmap -pke

ズラズラっと、キー割り当てが表示される。

% xmodmap -pke > ~/.xmodmap

として、この.xmodmapに変更を加える。

はじめは、ある行が

keycode 66 = Control_L Control_L Eisuu_toggle Caps_Lock

のようになっていた。これを

keycode 66 = Control_L Control_L Control_L Control_L

として、最後の行に

clear Lock

を追加。その後、変更した設定を読み込む。

% xmodmap ~/.xmodmap

これで、思い通りにCaps LockがCtrlになった。

でも、このままでは、再起動すると、設定がもとに戻ってしまう。

そこで、

cp /etc/X11/xinit/xinitrc ~/.xinitrc

として、 ~/.xinitrc の最後に

xmodmap ~/.xmodmap

を追加して、再起動すると、起動後に.xmodmapを読み込むか聞いてくるの、

以降も読み込むとかいう、オプションにチェックを入る(ここは記憶があいまいだ)。

これで、再起動しても大丈夫。

参考

http://www.crimson-snow.net/tips/ubuntu/ctrl_caps.html

http://www.ubuntugeek.com/disable-and-enable-caps-lock-in-ubuntu.html