Bug-org 1258153 Alt codes to input unicode is broken
初回投稿日時: 2016-10-15 22:39:36
最終更新日時: 2016-10-15 22:40:49
カテゴリ: KeyboardEvent Mozilla Core Mozilla48 Windows バグ修正
SNS:
Tweet (list)
日本ではあまり有名な機能では無いように思うのですが、Windowsでは、Altキーを押しながら、テンキーでUnicodeのコードポイントを4桁で入力して、Altキーを離すと、そのコードポイントの文字が入力されます。しかし、これが、regressionにより機能しなくなっているというバグです。
Bug-org 1137561の修正によるregressionと思われますが、はっきりはしません。
この入力を行ったときに以下のようにメッセージが発行されます。
WM_SYSKEYDOWN(wParamはVK_MENU)WM_SYSKEYDOWNとWM_SYSKEYUPが4セットWM_SYSKEYUP(wParamはVK_MENU)WM_CHAR(wParamは入力されたUnicode文字、lParamのスキャンコードはAltキーのもの)
そして、最後のWM_CHARがスキャンコードから、"Alt"キーとして処理されていました。このため、何の文字も入力されていませんでした。
今回の修正では、NativeKeyがWM_CHARの受信によって生成されていた場合、KeyboardLayout::InitNativeKey()はキーボードレイアウトの情報を利用せず、WM_CHARの内容でNativeKeyを初期化するようにしました。