Bug-org 946044 Pressing the Windows "Application" key inserts a U+0010 'DATA LINK ESCAPE' hexbox into text editor
初回投稿日時: 2013年12月19日15時18分17秒
カテゴリ: Events Mac Mozilla Core Mozilla28 バグ修正
SNS:
Tweet (list)
MacにPC用のキーボードを接続し、コンテキストメニューを開く、アプリケーションキーを押すと、制御文字である、U+0010
が入力され、それがエディタにそのまま表示されてしまうというバグです。
Macでは、キーイベントをハンドリングする際に、controlキーが押されている場合にのみ、制御文字をASCIIアルファベットに変換する処理を行っていましたが、それ以外の場合は素通りしていました。今回、ASCII文字の範囲内にある制御文字が入力された場合には、これを無視するようにしています。CodeInput等で、それ以外の制御文字を入力することは可能なままですが、普通にはあり得ない上に、膨大な調査とコードが必要になるため、それらについては確認しないようにしています。
また、Macでは、PC用のキーボードを接続しても、Macのキーボードにないキーは普通、Aキーと同じ0が仮想キーコードとしてマッピングされ、判別がつかないのですが、アプリケーションキーは固有の数値(0x6E
)にマッピングされているので、他のプラットフォームと同様に、keyCode
や、key
の値を設定するように修正しています。
ただし、他のアプリでも、このキーでコンテキストメニューを開くことはできないので、そのようには今のところは修正していません。