Горячие клавиши ALT + издают звуковой сигнал - PullRequest
1 голос
/ 14 апреля 2009

Я борюсь с приложением air flex. Всякий раз, когда я нажимаю Alt + что-то, Vista издает звук. Я подозреваю, что это связано с несуществующей строкой меню.

Есть идеи, как отключить приложение, реагирующее на ярлыки, где задействован alt?

Вот код:

stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
...
            public function onKeyUp(event:KeyboardEvent):void {
                trace("inside onKeyUp");

                if (event.altKey) {
                    if (event.keyCode == 69 /* E */) {
                        detailsBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
                    } else if (event.keyCode == 65 /* A */) {
                        andmevahetusBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
                    } else if (event.keyCode == 83 /* S */) {
                        Application.application.close();
                    } else {
                        trace("Key pressed. keyCode: " + event.keyCode + ", charCode: " + event.charCode);
                    }
                }
            }

Я попробовал все:

event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();

Ничего не помогло.

Ответы [ 2 ]

1 голос
/ 09 августа 2009

Возможно, операционная система перехватывает нажатие клавиши и отвечает на нее. В этом случае попытка остановить ключевое событие внутри вашего приложения не имеет значения.

Обработка событий в приложениях Flex / Flash не влияет на обработку событий Windows. Остановка распространения нажатия клавиш в Actionscript может повлиять только на ваше приложение, но не на операционную систему.

Вы можете попробовать две вещи:

  • Узнайте, почему Windows издает звуковой сигнал из-за Alt нажатий клавиш (может быть из-за международной раскладки клавиатуры, опций доступности или кто знает что), или
  • Хотя это не совсем соответствует вашему дизайну, переключитесь с Alt + X нажатий клавиш на Ctrl + X нажатий клавиш?
0 голосов
/ 04 августа 2009

Попробуйте установить код клавиши в 0 в событии onkeypress (если вы не используете его впоследствии).

...