昨晩あたりから、なんとなくHappy Hacking Keyboard Professional
が無性に欲しくなっていました。というのも、自宅のMacはいいにしても、会社で使っているWindowsのキー配列にどうもなじめず、それならいっそキーボードを持って行こうかと考えたからです。会社で使っているPCのキー配列は日本語キーボードで、自分には余計なキーがいろいろ付いています。CAPS Lockは無くていいし、そこにはCtrlキーがあるべき。変換・無変換とか、ひらがなキーなんて使わないのでスペースバーを広くして欲しい。等々。(Aの左横のキーである)CAPS LockをCtrlキーとして使うためにレジストリをいじってスキャンコードを変更する方法はよく知っていましたが、変換キーや、無変換キー、ひらがなキーもまとめて変更すればある程度改善できるのではないかと思いつきました。具体的には、
- CAPS Lockキーを 左Ctrlキーに変更。CAPS Lockや英数が押せなくても何ら不自由しない。
- 無変換キーを左Ctrlキーに変更。ちょうど10年ほど前にインターンシップで某社にお世話になっていた頃、そこのMacキーボードは左親指で押せるようにスペースバーの左隣にCtrlキーがありました。Ctrlキーは左手小指を駆使しなければならないのですが、左手親指もCtrlを押せるとかなり快適になったのを覚えています。無変換キーはちょうど良くスペースバーの左隣にあるのでCtrlキーにしてしまいます。
- 変換キーとひらがな/カタカナキーをスペースバーに。変換キーとひらがなキーはしょっちゅうスペースバーと間違えて押してしまうので、これらをスペースバーとして使えるようにします。これで、結果的に長いスペースバーのキーボードを使っているのと同じ感覚になりました。
メモがてらやり方を書いておきます。重要なシステムファイルをいじるのでくれぐれも自己責任で・・。regeditでレジストリの [HKEY_LOCAL_MACHINE] → [SYSTEM] → [CurrentControlSet] → [Control] → [Keyboard Layout] を選びます。システム全体ではなく、現在ログイン中のユーザに対して設定したい場合は[HKEY_CURRENT_USER] → [Keyboard Layout]を選びます。[Keyboard Layout]に新規でバイナリを作成し、名前を「Scancode Map」にします。

バイナリの内容として、マッピング表を作っていきます。最初の2DWORDが 0×0000 0000 (ヘッダ)、次の1 DWORDが続くマッピングの個数+1(終端分)で、今回4つマッピングをつくるので 5。すなわち 0×0000 0005 → リトルインディアンなので 05 00 00 00。あとは、上位32bitに変換後、下位32bitに返還前のキースキャンコードがくるように設定します。CAPS Lockのスキャンコードは 3A、左Ctrlのスキャンコードは 1Dなので 0x003A 001D →リトルインディアンなので 1D 00 3A 00。この要領で他のキーコードも設定し、終端に 0×0000 0000をおいて、ログインし直せばキーコードが有効になっています。
これらの変更のおかげで、ひとまずHHKへの熱は冷めてしまいました。次、欲しくなるときはきっと英語配列じゃなきゃイヤだと思ったときですかね。
