2016年2月10日水曜日

キーボードのCaps LockキーとCtrlキーを入れ替える

Raspberry PiはLinux系OSをインストールして用いられることが多いのですが、Linux系OSではキーボードの「Ctrl」キーを多用します(Windowsでも「コピー」と「貼り付け」の機能に「Ctrl」キーを使いますね)。

そのため、Ctrlキーが押しやすい位置に配置されたキーボードが好まれる傾向があります。典型的には「A」キーの左隣にCtrlキーが配置されたものです。

古くはSunワークステーション用のキーボード、最近では
などでは「A」キーの左隣にCtrlキーが配置されています。

一般的には「A」キーの左隣に「Caps Lock」キーが配置されたキーボードが広く流通しています。そのようなキーボードを用いる場合も、この「Caps Lock」キーを「Ctrl」キーと入れ替えて「Ctrl」を「A」の左隣に配置する、という設定が、Linux系OSのユーザーに好まれています。

ここではその設定を紹介します(参考にしたサイト)。なお、Raspbianのバージョンにより方法が異なりますので、順に解説します。

まずは、NOOBS 2.8.2 以降のRaspbian (Stretch) の場合について解説します。なお、この解説はかなり古いNOOBS 1.4.1より以前のRaspbian(Wheezy)についても当てはまります。

これらのバージョンのRaspbianの場合、キーボードの設定ファイルは /etc/default/keyboard です。ターミナルソフトウェアLXTerminalで下記のコマンドを実行し、テキストエディタleafpadで設定ファイル /etc/default/keyboard を開きます。
sudo leafpad /etc/default/keyboard
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
sudo mousepad /etc/default/keyboard
このファイルは10行程度が記されていますが、 この中にXKBOPTIONSを設定する「XKBOPTIONS=」という1行があるはずです。これに以下のように「ctrl:swapcaps」という設定を追記します。
XKBOPTIONS=ctrl:swapcaps
編集が終わったら、保存してleafpadを閉じます。その後Raspberry Piを再起動すると「Caps Lock」と「Ctrl」が入れ替えられ、「A」キーの左隣が「Ctrl」キーとなっているはずです。

なお、XKBOPTIONSに既存の設定があった場合、例えば下記のような設定が既にあった場合は…、
XKBOPTIONS=terminate:ctrl_alt_bksp
「,」で区切ってctrl:swapcapsを追記すればOKです。
XKBOPTIONS=terminate:ctrl_alt_bksp,ctrl:swapcaps

なお、「Caps Lock」キーは不要と言う場合、下記のようにnocapsを指定すると、「Caps Lock」キーと「Ctrl」キーがどちらも「Ctrl」キーとして機能するようになりますので、お好みの設定を用いてください。
XKBOPTIONS=ctrl:nocaps
XKBOPTIONSに設定できる内容は「/usr/share/doc/keyboard-configuration/xorg.lst」というファイルに列挙されていますので、興味のある方は参照してください。

次に、NOOBS 1.5.0~2.8.1 のRaspbian(Jessie/Stretch)でGUIの設定アプリケーションを用いた場合の解説です。これらのバージョンのRaspbianでは、設定ファイルは /home/pi/.config/lxkeymap.cfg でした。このファイルは、GUIのRapsberry Piの設定アプリケーションでキーボードの設定を一回行うと、自動的に生成されています。

ターミナルソフトウェアLXTerminalで下記のコマンドを実行し、テキストエディタleafpadで設定ファイル .config/lxkeymap.cfg を開きましょう。
leafpad .config/lxkeymap.cfg
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
mousepad .config/lxkeymap.cfg
このファイルの中に、「option =」という、optionを設定した行があるはずです。この右辺に「ctrl:swapcaps」を追記ましょう。
option = ctrl:swapcaps
Raspbianのバージョンによっては、右辺に既存の設定が書かれていることがあります。
option = lv3:ralt_switch
その場合、「,」で区切って設定を追加すればOKです。
option = lv3:ralt_switch,ctrl:swapcaps
編集が終わったら、保存してleafpadを閉じます。その後Raspberry Piを再起動すると「Caps Lock」と「Ctrl」が入れ替えられ、「A」キーの左隣が「Ctrl」キーとなっているはずです。

なお、このバージョンのRaspbianにおけるキーボードの設定ファイルは、Raspberry Piの起動時は /home/pi/.config/lxkeymap.cfg であり、Raspberry Piの起動後にキーボードを抜き差しすると /etc/default/keyboard が読まれるようになっていますので注意しましょう。