Flex / AIR:未割り当て/無効化されたキーショートカットを自動的に吸収
-
03-07-2019 - |
質問
<mx:HTML>
コンポーネントを含むAIRアプリがあり、HTML/Javascript
ベースのWYSIWYG/rich-text editor
を含むページをレンダリングします。さまざまなキーボードショートカットが書式設定と割り当てに割り当てられていますが、割り当てられていないショートカットを入力すると、
( eg cmd または[ ctrl on Windows] + M )、
文字は、修飾キーが押されていないかのように入力されます。これは、ショートカットが割り当てられているが、メニュー項目が無効になっている場合にも当てはまります。
修飾キーが押されていることを検出する最良の方法は何ですか?ただし、ショートカットは割り当てられておらず、修飾キーなしでHTMLビューにパススルーするのではなく、無視する必要がありますか?
解決
なんとなく、私はそれを理解しました。 KeyboardEventでデフォルトのアクションを禁止しても、メニューシステムは動作しているようです:
public var OperatingSystem:String = !!NativeApplication.supportsDockIcon ?
'mac' :
!!NativeApplication.supportsSystemTrayIcon ?
'win' :
'other';
stage.addEventListener('keyDown', function(e:KeyboardEvent):void {
if(e[(OperatingSystem == 'mac' ? 'commandKey' : 'ctrlKey')]) {
e.preventDefault();
}
});
所属していません StackOverflow