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
を初期化するようにしました。