J'ai une application flexible avec beaucoup de composants personnalisés, comme des boutons personnalisés, des comboBoxes, etc. J'essaie d'ajouter des raccourcis keyBoard à l'application flexible. Ce faisant, j'ai ajouté un écouteur de touche vers le bas à l'application pour écouter ctrl+shift
combinaison de touches comme ceci:Ajout de raccourcis clavier à une application flexible
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
je distribue un événement personnalisé que tous mes composants personnalisés sont à l'écoute pour:
private function reportKeyDown(event:KeyboardEvent):void
{
var evtObj:Object = new Object();
evtObj.keyEvent = event;
dispatchEvent(new CustomEvent(CustomEvent.SHORTCUT_KEYS_PRESSED, evtObj, true, false));
}
Dans mon composant bouton personnalisé J'ai:
this.addEventListener(CustomEvent.SHORTCUT_KEYS_PRESSED, ShortCutKeysHandler, true);
donc, si je ctrl+shift+W
alors je veux une instance du bouton personnalisé pour obtenir cliqué.
Pour une raison quelconque, l'événement n'est jamais déclenché et n'atteint jamais la fonction ShortCutKeysHandler
.
Est-ce que quelqu'un sait comment faire cela?