Q. コンソールでキーボードの Ctrl キーと Caps Lock キーを交換して使いたい。
その他、任意のキーの意味を交換したい。
A. 各キーの意味を記述したキーボードマップと呼ばれるファイルをドライバに
読み込ませることにより、キーの意味を変更することができます。
/usr/share/syscons/keymaps/ に、各種キーボードマップがあります。普通は
us.iso.kbd … 101キーボード用
jp.106.kbd … 106キーボード用
などを使用しますが、
us.pc-ctrl.kbd … us.iso.kbd の Caps Look を Ctrl に変更したもの
(Caps Look は使えなくなる)
jp.106x.kbd … jp.106.kbd の Ctrl と Caps Look を逆にしたもの
というものも用意されています。
コンソールで、kbdcontrol(1) を用いて、
# kbdcontrol -l /usr/share/syscons/keymaps/jp.106x.kbd
を実行することでキーボードマップが読み込まれます。キーボードマップが
/usr/share/syscons/keymaps/ の下にある場合は、パスを省略して
# kbdcontrol -l jp.106x
としてもかまいません。
狙い通りのキーマップに変更されたことを確認したら /etc/rc.conf に
keymap="jp.106x"
などと記述すると、ブート時に ここに書いたキーマップが自動的に設定
されます。
キーボードマップのファイルはテキストファイルですので、編集するのは
簡単です。例えば us.iso.kbd の Caps Lock と Ctrl を交換した
us.isox.kbd を新たに作成するには以下のようにします。
1. us.iso.kbd を、たとえば us.isox.kbd にコピー。
# cd /usr/share/syscons/keymaps/
# cp us.iso.kbd us.isox.kbd
2. us.isox.kbd の 029 と 058 を編集。
029 clock clock clock clock clock clock clock clock O
058 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O
3. kbdcontrol -l us.isox.kbd で確認する。
4. /etc/rc.conf を以下のように記述する。
keymap="us.isox"
5. リブート。
同様の操作で各キーの意味を変更できますが、慎重に行わないと「元に
戻すためのコマンドをタイプできない」という困ったことになります
のでご注意下さい。
X Window System 上でのキーの入れ替えについては [管理番号 110] を見て
ください。
グループ名: console