CTRLキーとCAPSLOCKキーの入れ替え

●コンソール

キーボードのマッピング設定はsetupコマンドの "Keyboard configuration"で確認することができます。
マッピングファイル の実体は /lib/kbd/keymaps/i386/qwerty 配下に格納されており('QWERTY' というのはキーボードの左上の並び),
日本語106キーボードなら jp106.kmap.gz になります。
gzipで解凍して,エディタでキーコードを修正 し,gzipで圧縮し直します。
マシンをリブートすれば変更が有効になります が,いますぐに反映させたい場合はloadkeys(1)コマンドで読み込ませれば OKです。


● X-Windowの場合(全ユーザ共通)

Xでのキーマッピン グはコンソールとは別となっていて,/usr/X11R6/lib/X11/xkb/keycodes の
xfree86 ファイル内に ”<キー> = コード”  という形式で記述されています。
CTRLとCAPSの入れ替えは

<CAPS>=66 → <CAPS>=37;
<LCTL>=37 → <LCTL>= 66;

修正後はいったんログアウトして,ログインし直せば有効になります (リブート不要)。

● X-Windowの場合(ユーザ別)

CTRLとCAPS,ESCと漢字キーを入れ替えるに は、ホームにある.xmodmaprc に次の行を追加します。

remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L