この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2014年6月)

2014年6月24日

Bug-org 1019427 Log scancode -> virtual keycode table for KeyboardEvent.code debug on Windows
初回投稿日時: 2014年06月24日11時29分27秒
カテゴリ: Events Mozilla Core Mozilla33 Windows
SNS: (list)

Bug-org 1015028の修正で、Windowsでは、スキャンコードがきちんと設定されていないキーイベントであっても、仮想キーコードからスキャンコードを算出して、KeyboardEvent.codeを求めるようになりましたが、どのような環境で、これが問題になるか分かりません。

そこで、リリースビルドでもマッピングのログがとれるようにするコードを仕込ました。

環境変数で、NSPR_LOG_MODULESを、KeyboardLayoutWidgets:5とし、NSPR_LOG_FILEを指定しておけば、起動時と、キーボードレイアウト変更時にログをとることができます。

Win8.1上のいくつかのキーボードレイアウトでログをとって、表にしてみると以下のようになりました。

これを見ると、VK_PRINT等、現在ではどのキーボードレイアウトでもマッピングされていない仮想キーコードがあるのが分かります。

関連するかもしれないエントリ

bug-org 1019427を含むエントリ