所持キーボード
キーボードにはそれなりにこだわりがあります。そうなると必然的かどうか解りませんが、マシンの台数よりも多いキーボードがいつの間にか手元にある状態になっていました。
その中でお気に入りのキーボード*1を紹介します。
を調べてみました。
利用したのはタイプ数カウンター
某所にて5日ほどサンプル収集をした結果がこちら。
「変換」の使用頻度多すぎw
スペースバーが長いのなんて自分にとって利点でも何でもないことが証明されましたww
やっぱ英語キーボード無理だわw たとえどんなに英語キーボードの利点を語られようともwww
ちなみにBackSpaceの使用頻度が多いのはMS-IMEがバカすぎるせいですw
キーボードにはそれなりにこだわりがあります。そうなると必然的かどうか解りませんが、マシンの台数よりも多いキーボードがいつの間にか手元にある状態になっていました。
その中でお気に入りのキーボード*1を紹介します。
キーボード関連のトラブル
PS/2→USB変換器にキーボードにつないであれこれいじっていたらPS/2に接続していたキーボード&マウスがWin2k上で利用できなくなった。
で、調査した部分
Win2k起動以前は認識していることからWin2kの問題と判別。
デバイスマネージャでPS/2キーボードをみてみるとドライバがロードされていない模様。
自分が持っている知識や経験からはどうにもこうにもならないため、Google先生に頼ることに。
レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt
のStartの値が4になっているのを1にすることでPS/2キーボードが利用できるようになる。(マウスも)
上記の現象発生後、窓使いの憂鬱の再導入。その後、ATOK15を利用していて半角英数/全角英数が入力できなくなってしまった。
ATOK上での入力モードと実際に入力される文字は以下のような感じ。
ATOK上の設定 | 実際の入力 |
---|---|
ひらがな | ひらがな |
半角英数 | 半角カナ |
全角英数 | 全角カナ |
ATOK OFF | 半角カナ |
とりあえず、正規の方法でアルファベットが入力できなくなった。
こうなると再起動しか直す方法がなく、また頻繁に発生するため非常に困っている。
ATOKを入れ直したり、窓使いの憂鬱を入れ直したりしても状況は改善されず。で、英数が入力できなくなってしまう時を注意深く調査した結果、Ctrl+英数を押した場合に発生することが判明。
Ctrl + 英数キーを押して入力モード切替を行う際に、入力モードが切り替わらない場合がある
そういえば、Capsと左Ctrlを入れ替えているのでCapsLockを行う場合は「右Shift+左Ctrl」という感じとなっています。このCapsLockを行う際に誤って右Shiftの下にある右Ctrlを押してしまったためにCtrl+英数が入力されこのような現象が起きているのではないかと推測できます。
ここで問題となるのはCtrl+英数が何をしているのかということである。
JUSTSYSTEMのサポートによると、Ctrl+英数は「日本語106/109キーボード(Caps+英数)」のドライバにおいてカナロックを行う際に利用するということらしい。
で、カナロックとは何かと調べてみるとIMEがOFFの状態で半角カナを入力するための機能らしい。
上記の原因と組み合わさってCtrl+英数によるカナロックが解放されないためにATOK上で入力文字種を変更してもカタカナが入力されてしまうと推測できる。
ドライバを当て直した際に、「日本語106/109キーボード(Ctrl+英数)」が導入されてしまったことが原因っぽい*1。手動でキーボードのドライバを「106/109日本語キーボード」に変更してやることでCtrl+英数でカナロックがされなくすることができる*2。
ちなみに、このような現象はWin2kを5年程度使い続けて初めて起きたことから、デフォルトで当たるキーボードのドライバは「106/109日本語キーボード」ではないかと考えられる。
前回の記事でスキャンコードがわかりましたので、今回は調査したスキャンコードを使用して日本語106キーボードのように利用できるようにします。ちなみにこの記事は対象のキーボードで書いています。
利用したキーリマップソフトは「窓使いの憂鬱」です。
当初の方針としては日本語109キーボード向けの定義ファイル(.mayuファイル)に追加することで実装しようと思っていたのですが、あまりに長くなりすぎた為単体のキー定義ファイルを作成しました。
こちらから (現在配布を見合わせています)
配布を再開しました(08/07/10)
こちらから:109onA2880.zip
106onA2880.mayuは109.mayuをベースに作成しましたので109.mayuのライセンスに準拠することとします。
ユーザーはBoost Software Licenseに従い自由に利用できます。
ヒューレット・パッカードのサーバ用キーボードA2880Bを入手したのですが、このサーバ用キーボードは一般的な日本語106キーボードのような外見をしていながら、発生させるスキャンコードが異なります。
今回は日本語106キーボードのように利用できるようにする為にスキャンコードの差異を調べてみました。
注意点
A2880Bキー表記 | スキャンコード | 106JP |
---|---|---|
Esc | 0x64 | N/A |
Ctrl | 0x38 | L-Alt |
Caps | 0x1d | L-Ctrl |
Alt | 0x71 | N/A |
無変換 | 0x66 | N/A |
変換 | 0x6a | N/A |
漢字 | 0x72 | N/A |
英数 | 0x3a | CapsLock |
F1 | 0x58 | F12 |
F2 | 0x59 | N/A |
F3 | 0x5a | N/A |
F4 | 0x5b | N/A |
F5 | 0x5c | N/A |
F6 | 0x5d | N/A |
F7 | 0x5e | N/A |
F8 | 0x5f | N/A |
F9 | 0x60 | N/A |
F10 | 0x61 | N/A |
F11 | 0x62 | N/A |
F12 | 0x63 | N/A |
PrtScr | 0x6e | N/A |
ScrLk | 0x76 | N/A |
Pause | 0x77 | N/A |
Ins | 0x7b | 無変換 |
Del | 0x79 | 変換 |
Home | 0x7f | N/A |
End | 0x7a | N/A |
PageUp | 0x6f | N/A |
PageDown | 0x7e | N/A |
↑ | 0x78 | N/A |
← | 0x56 | N/A |
↓ | 0x55 | N/A |
→ | 0x7d | \ /| |
\ / | | 0x75 | N/A |
] / } | 0x29 | 半角/全角 |
\ / _ | 0x70 | ひらがな |
NumLock | 0x01 | Esc |
Num / | 0x45 | NumLock |
Num * | 0x46 | ScrLk |
Num - | 0x54 | SysRq |
Num + | 0x37 | Num * |
Num Enter | 0x4e | Num + |
hpサーバ用キーボード上の表記