CentOS 4 : CapsLock と Control キーを入れ替える。

スポンサーリンク

他ディストリとはやり方がちょいと違っているようなので模索してみた。
X Window 無しのコンソール作業。

備忘録 + α で書いておきます。

# 2008/06/24 記事修正
# オペに無駄があったので手順を書き直し

たまたま直でコンソール叩く事になったので安物の小さいキーボードへ初めて触れた。
CapsLock 押すと一発で大文字入力になってしまう上に Control キーがちっこい orz
そんなもんでいつも通りのキーマップにすべくファイル書き換えで対応した。

まず以下のオペしてみる。

$ su –
# cd /lib/kbd/keymaps/i386/qwerty
# cp -p jp106.map.gz jp106_Ctrl_CAPS.map.gz
# gzip -d jp106_Ctrl_CAPS.map.gz

root に substitute してからキーマップのあるディレクトリに移動。
該当するのは jp106 キーだったので、これを書き換えるために任意の別名でコピー。
私はは「jp106_Ctrl_CAPS.map.gz」とした。

引き続き jp106_Ctrl_CAPS.map の該当箇所を編集する。

keycode 29 = Caps_Lock
keycode 58 = Control

こんな感じに。

diff してみるとこんな感じです。

# diff -u jp106_Ctrl_CAPS.map jp106.map
--- jp106_Ctrl_CAPS.map 2008-06-24 17:25:07.000000000 +0900
+++ jp106.map   2008-06-24 17:25:07.000000000 +0900
@@ -37,7 +37,7 @@
 keycode  27 = bracketleft      braceleft
 keycode  28 = Return
        alt     keycode  28 = Meta_Control_m
-keycode  29 = Caps_Lock
+keycode  29 = Control
 keycode  39 = semicolon        plus
 keycode  40 = colon            asterisk
        control keycode  40 = Control_g
@@ -55,7 +55,7 @@
 keycode  56 = Alt
 keycode  57 = space
        control keycode  57 = nul
-keycode  58 = Control
+keycode  58 = Caps_Lock
 keycode  86 = less             greater
 keycode  89 = backslash        underscore
        control keycode  89 = Control_backslash

念のため内容を確認した後にキーマップのファイルを元の形式に戻す。

# gzip jp106_Ctrl_CAPS.map
# ls -l jp106*
-rw-r–r– 1 root root 775 Feb 22 2005 jp106.map.gz
-rw-r–r– 1 root root 783 Feb 15 20:33 jp106_Ctrl_CAPS.map.gz

これで OK。
最後にもいっちょ設定変更。

# cd /etc/sysconfig

ここから keyboard というファイルの編集。
KEYTABLE=”jp106″
となっているところを
KEYTABLE=”jp106_Ctrl_CAPS”
に変更して保存。

確認する。

# cat /etc/sysconfig/keyboard
KEYBOARDTYPE=”pc”
KEYTABLE=”jp106_Ctrl_CAPS”

これで次回リブート後に有効化される。

今回はリブートしないので

# /bin/loadkeys jp106_Ctrl_CAPS

として、変更したキーマップをロードしてやって即完了。

以上、滅多に直ログインはしないけど作業効率の為に…。

スポンサーリンク