筆者は英語キーボード使いだ。
以前は日本語キーボードマンセー、だったのだが、米国に居住して米国の会社に勤務している以上、どうしたって英語キーボードを支給される・使うことになることが多い。
止むを得ず数年前に英語キーボードに切り替えたのだ。
当然ながら日本語入力は必要だ。
"Alt"+"~"などと2アクションで日本語/英語切り替えはマンドクサイので、AXキーボードマップを常用している。
これだと、普段ほとんど使わない左Altで日本語/英語切り替えができるようになる。
更に右Altと左Altを切り替えて、左親指で日本語/英語切り替えができるようにしてあるので、このような日本語英語混じりの文章でも楽に入力ができる。
更にこのようなApple帝国の嫌がらせもあるので、これにも負けずにWindows PCを使っていくためにはscancode mapの変更は不可欠だ。
Scancode mapの変更はレジストリーキー"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout"の下に、"Scancode map"バイナリー値を作成して記入すればよい。
- ヘッダはDWORD 0x00000000を2つにフッタも含めたエントリー数をDWORDで
- 各エントリーはDWORD
- 最後にDWORD 0x00000000のフッタを付ける
エンディアンはリトルエンディアンなので、エントリー数の3はバイト列では"03 00 00 00"となっている。
次に各エントリー。
この部分もリトルエンディアンなので、DWORD値は0xE0380038。
MSBのWORD値(0xE038)がもともとのキーのscancode値。
LSBのWORD値(0x0038)がそのキーに割り当てたいscancode値。
この例だと、右Alt(0xE048)を押すと左Alt(0x0038)を押したことになる。
次のエントリーはこの逆なので、この2つで右Altと左Altが入れ替わる。
各キーのscancode値はこちらによくまとまっている。
www.ipentec.com