キーボード配列誤認識問題

PC Watch > ■元麻布春男の週刊PCホットライン■ > WinHECに垣間見る入力方式の行方

 少なくともMicrosoftは、キーボードに配列誤認識の問題があることを把握している。だからこそ、Knowledge BaseはOSの名前を更新しながら、誤認識した場合の解決方法を提供し続けている。もうそろそろ根本的な解決策、配列の異なる複数キーボードの同時サポートと、キーボード配列のダイナミックかつ正しい認識を可能にするべき時だ。


配列の誤認識問題は、USB の HID 仕様が配列のプラグアンドプレイを想定していない事がおもな原因ですね。プラグアンドプレイを実現しようと思えば、キーボード側に配列の情報を持たせる必要がある事くらい、すぐに気がつきそうなものですけれども…


Windows95(USBサポートはWindows98からだったかも) の頃は、KEYBOARD.INF にUSBのベンダーID、プロダクトID から配列を決定するリストを持っていましたが、INF ファイルに列挙されていないキーボードは英語配列にされてしまうという問題がありました。
そのころは、自分で INF ファイルを作って対応したしましたが、途中から、KEYBOARD.INF でベンダーID、プロダクトID から配列を決定するという事をやめるようになりましたね。

次のページで、それがわかります。
USB キーボードデバイス接続後もキーボード配列の変更が行われない


異なる配列のキーボードを複数接続して正しい配列で使えるようにする為には、キーイベントから文字への変換の際に、どのキーボードからのキーイベントなのかという事がわからないと正しいマッピングで変換できないので、OS 側できちんとその辺の事をケアするとかしないとダメでしょうね。アプリケーション側の修正なしに対応できるのだろうか…