Bug-org 865565 D3E KeyboardEvent.key values of IME related keys should be considered with keyboard layout locale
初回投稿日時: 2013年06月30日20時01分28秒
最終更新日時: 2013年06月30日20時02分35秒
カテゴリ: Events IE Mozilla Core Mozilla25 Windows バグ修正
固定リンク: id=2013063000
SNS:
Tweet (list)
Windowsでは、日本語のキーボードと、ハングルキーボードの、IMEのキーの一部で、仮想キーコードをシェアしているので、単純な変換ではDOM Level 3 Eventsの仕様が望むようなKeyboardEvent.key
値が得られません。
このバグの修正では、キーボードレイアウトのロケールから、以下のようにキーがマッピングされるようになりました。
キーボード | 仮想キーコード | 物理キー | Mozilla 25 | IE 10 |
---|---|---|---|---|
日本語 | VK_OEM_ENLW | 半角/全角 漢字 | "FullWidth" | "Unidentified" |
VK_OEM_AUTO | 半角/全角 漢字 | "HalfWidth" | "Unidentified" | |
VK_KANJI | Alt+半角/全角 漢字 | "KanjiMode" | "KanjiMode" | |
VK_OEM_COPY | カタカナ ひらがな ローマ字 | "Hiragana" | "Unidentified" | |
VK_OEM_FINISH | Shift+カタカナ ひらがな ローマ字 | "Katakana" | "Unidentified" | |
VK_ATTN | Alt+カタカナ ひらがな ローマ字 | "KanaMode" | "Attn" | |
VK_OEM_BACKTAB | Alt+カタカナ ひらがな ローマ字 | "RomanCharacters" | "Unidentified" | |
VK_KANA | 不明 | "KanaMode" | "KanaMode" | |
VK_OEM_ATTN | Caps Lock 英数 | "Alphanumeric" | "Unidentified" | |
ハングル | VK_HANGUL | 한/영 | "HangulMode" | "Unidentified" |
VK_HANJA | 한자 | "HanjaMode" | "Unidentified" | |
その他 | VK_ATTN | 不明 | "Attn" | "Attn" |
VK_ATTN 以外の上記コード | 不明 | "Unidentified" | 不明 |
"FullWidth"
や"HalfWidth"
といったキーに関しては、実際の物理キーの操作と、イベントの関係が異なっています。内部で、全角や半角といった状態を保持していて、例えば、半角モードになる際に、"FullWidth"
等、解除されるモードのkeyup
イベントが発生し、"HalfWidth"
のkeydown
イベントが発生します。このあたりの動作は、Windows固有のもので、他のOSとの互換性はありませんが、これはOSの仕様に依存する問題ですので、プラットフォーム間での動作の統一は今後も予定はありません。