Как сохранить фокус после нажатия 'alt'? (приложение Adobe AIR)

Я делал приложение с AIR + Flex.

Одна функция похожа на:

  • Когда клавиша Alt нажата, курсор мыши изменяется на B,
  • Когда клавиша Alt нажата, курсор мыши восстанавливается на A.

Но проблема в том, что каждый раз, когда отпускается клавиша Alt , курсор мыши возвращается к системному значению по умолчанию (форма стрелки), и кажется, что фокус находится где-то за пределами сцены.

Это напоминает мне, что, когда Alt был нажат в обычном окне, панель меню будет сфокусирована.

Как я могу остановить это поведение по умолчанию?

p.s. Я пробовал следующие способы, но ничего не вышло:

  • 1) прослушать событие stage KEY_DOWN / KEY_UP и добавить event.stopImmediatePropagation () в обработчиках событий
  • 2) прослушать событие этапа KEY_DOWN / KEY_UP и добавить event.preventDefault () в обработчики событий
  • 3 ) прослушать событие этапа KEY_DOWN / KEY_UP и добавить this.setFocus () в обработчики событий. И callLater (this.setFocus) тоже не работает.
8
задан akmozo 27 November 2015 в 12:47
поделиться