Flex / AIR:未割り当て/無効化されたキーショートカットを自動的に吸収

StackOverflow https://stackoverflow.com/questions/202151

質問

<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();
    }
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top