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

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

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

2014年12月31日

Bug-org 865561 When WM_APPCOMMAND is caused by a key press, the handler should dispatch key event with D3E's KeyboardEvent.key
初回投稿日時: 2014年12月31日22時47分11秒
カテゴリ: Events Mozilla Core Mozilla37 Windows バグ修正
SNS: (list)

Windowsでは、マルチメディアキーボードの、メール関連のキーや、編集関連のキー等が押された場合に、通常のWM_KEYDOWNメッセージではなく、WM_APPCOMMANDというメッセージがアプリに送信されます。Geckoはこれを受け取ると、内部向けのコマンドイベントを生成し、処理していますが、WM_APPCOMMANDは、その原因がキー操作かそれ以外かが分かるようになっていますので、D3Eで定義されたキーであれば、最初にkeydownイベントを生成し、これがpreventDefault()で、デフォルトアクションをキャンセルされていなければ、従来通り、内部向けのコマンドイベントを生成し、最後に、keyupイベントを生成するようにしました。

色々と細かい話があったはずなのですが、半年前に書いて、塩漬けになっていたパッチですので、細かいことは忘れてしまいました……

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

bug-org 865561を含むエントリ