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

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

もずはっく日記(2013年7月)

2013年7月29日

Bug-org 896362 Support special keys VK_ABNT_C1 and VK_ABNT_C2 of Brazilian keyboard
初回投稿日時: 2013年07月29日19時52分39秒
カテゴリ: Events Mozilla Core Mozilla25 Windows バグ修正
SNS: (list)

以前、Bug-org 865566の修正において、KeyboardEvent.keyでのみ、ブラジルのポルトガル語キーボードや、Macの日本語版キーボードにある、テンキーのカンマキーのキーコードである、VK_ABNT_C2に対応していましたが、今回の修正は、KeyboardEvent.keyCodeや、KeyboardEvent.locationも、VK_ABNT_C2に対応させ、同時に、もうひとつの特殊キー、VK_ABNT_C1も対応させました。

この修正により、VK_ABNT_C2キーは、0x6C(108)になります。これは、GeckoのLinux版と同じキーコード値になるようにするためです。ちなみに、IEや、Windows版Chromeでは、0xC2(194)、Mac版ChromeやSafariでは、0xBC(188)になりますので、プラットフォームによって値の変化する、他のブラウザよりは正確に判定できるようにしています(Mac版ではまだ対応できていないので、Bug-org 897885に登録しています)。

VK_ABNT_C1は、ブラジルのポルトガル語キーボードの右シフトキーの左側にある文字入力用のキーで、/?の入力キーです。このキーは、文字入力用のキーであると、widget::KeyboardLayoutに登録していませんでしたので、keyCodeが常に0になっていましたが、きちんと、/に対応したkeyCode値を返すようになっています。

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

bug-org 896362を含むエントリ