FreeBSD QandA 365

FreeBSD QandA

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


間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。