Flex / AIR: автоматически поглощать неназначенные / отключенные сочетания клавиш - PullRequest
1 голос
/ 14 октября 2008

У меня есть приложение AIR с компонентом <mx:HTML>, которое отображает страницу с WYSIWYG/rich-text editor на основе HTML/Javascript. Различные сочетания клавиш назначаются для форматирования и что у вас есть, но если я наберу ярлык, который не назначен
( например cmd или [ ctrl в Windows] + M ),
символ вводится так, как будто не была нажата ни одна клавиша модификации. Это даже верно, если ярлык назначен, но его пункт меню отключен.

Каков наилучший способ обнаружить нажатие модификатора, но ярлык не назначен и должен игнорироваться, а не передаваться в представление HTML без клавиши-модификатора?

1 Ответ

1 голос
/ 14 октября 2008

Неважно, я понял это. Очевидно, система меню работает, даже если вы запретите действие по умолчанию для 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();
    }
});
...