今日のトラブル : CapsLock と Control の入れ替え

とりあえずインストール直後の状態なので
CapsLock がそのままになっており、使い辛い。


当然のことながら Control への置き換えをしたいので色々調べてみた。

Debian スレッドテンプレ などには

/etc/console-tools/remap

を以下の

s/keycode 58 = Caps_Lock/keycode 58 = Control/;

の行のコメントを外して

$ sudo /etc/init.d/console-screen.sh restart

という手順で置き換わるらしいのだが・・・駄目だった。

試行錯誤

ひとまず

/etc/init.d/console-screen.sh

の中身を見てみると

dumpkeys

というコマンドがあるので、man で調べてみる。
そうするとキーマップのダンプが出来るらしいので
console-screen.sh を参考にして段階的にテストをしてみる。


まずは

$ sudo dumpkeys < /dev/tty1 | sed /etc/console-tools/remap

を実行。
が、コンソールにダラダラと文字列が流れてしまい全く肝心なところが分からず。
なので、

$ sudo dumpkeys < /dev/tty1 | sed /etc/console-tools/remap | grep 58 | less

で出力を見てみる。

keycode 58 =

となっている。
ただ、それに続く「Caps_Lock + (他のキー)」の部分は「Control + (他のキー)」に置き換わってる。

それならと /etc/console-tools/remap の中身を追加

s/keycode 58 = /keycode 58 = Control/;

で、変更を見てみる。

$ sudo dumpkeys < /dev/tty1 | sed /etc/console-tools/remap | grep 58 | less

うん、ちゃんと代わってる。


それでは、と console-screen.sh を実行

$ sudo /etc/init.d/console-screen.sh restart

・・・んー、変わってない。

解決編

それならと他に色々と検索するうちに kbd というパッケージがあることが分かった。

kbd - Linux console font and keytable utilities

で、その kbd が現状入ってるのか参照してみる。

$ dpkg -l | grep kbd

反応なし。


ないならインストール。

$ sudo apt-get install kbd

・・・と? 削除項目に「console-tools ubuntu-minimal」というのが出ている。
もしかして vim に対する vim-tiny の様に
ユーティリティがフルパッケージで入ってないのかも。
それなら尚更インストールせねば!! ってことでインストール完了。


kbd の使い方を探してみると・・・

参考
http://d.hatena.ne.jp/knagano/20070704

ファイル /etc/default/console-setup に赤字部分を追記

XKBOPTIONS="grp:alt_shift_toggle,lv3:ralt_switch,grp_led:scroll,ctrl:nocaps"

$ sudo /etc/init.d/console-setup restart
$ sudo /etc/init.d/keyboard-setup restart

で、OKの模様。
早速実行すると、CapsLock は Control に置き換わったみたい。


いやー、つーかここまでの設定で Control が使えないことに本当にイライラしたんですが。