ThinkPad の[戻る][進む]キーを殺す

[戻る]

未だに ThinkPad x31 という古いノート PC を愛用しています. 大体気に入っているのですが, キーボードの配置に若干不満があります.

一番大きい不満はカーソルキーにある[戻る][進む]キー. 間違えて押して悲惨な目にあったことが何度かあります.

もうひとつの不満は Delete キーの位置. 通常のキーボードのカーソルキーの上の島をそのまま上部に持ってきた ことは理解できるのですが, 他の PC との兼ね合いもあり, つい無意識に Backspace の真上 (右上) のボタン: PageUp を押してしまいます.

またカタカナ, ひらがなキーをうっかり押してびっくりすることも ありますね. 邪魔です.

というわけでレジストリをいじってなんとかしようと考えました.

いじくるレジストリのキーは, 以前 も書きましたが, "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout" です. 前回は意味もしめさず書きましたが中身は 00 を 8 個 (4byte), データの個数+1 (4byte), [機能][キー]のセット (4byte)…, 00 を 4 個 (4byte) といった感じになります (エンデアンは適当に解読してください). ここで機能とキーはそれぞれ「スキャンコード」というデータでして, 例えば CapsLock は 003A, 右 Ctrl は 001d です. 機能を 00 にすると, そのキーは無効になります.

というわけで, [進む]や[戻る] のキーコードを調べて無効にしたり, [PgUp]キーを Delete 機能に割り当てればいいわけです. というわけで, 上記レジストリキーを

00,00,00,00お約束 1
00,00,00,00お約束 2
07,00,00,00全部で 7 個
00,00,6a,e0[戻る]キーを無効
00,00,69,e0[進む]キーを無効
00,00,70,00[カタカナひらがな]キーを無効
1D,00,3A,00[CapsLock]キーを CTRL に
53,e0,49,e0[PgUp]キーを DELETE に
00,00,51,e0[PgDn]キーを 無効 に
00,00,00,00お約束 3
のように書くとうまくいきました.

後日ネットをさまようと, わざわざこんなことしなくても KEY_LOCAL_MACHINE\SOFTWARE\IBM\TPHOTKE\MGR に DisableWebkey という DWORD 値を 1 に設定すると良いらしいという情報を見つけました. が確認はしてません.


2010.9