package components { import flash.events.KeyboardEvent; import flash.events.MouseEvent; import mx.controls.Button; import mx.core.IMXMLObject; public class ShortKey implements IMXMLObject { [Bindable] public var key:uint; [Bindable] public var button:Button; [Bindable] public var shiftKey:Boolean = false; [Bindable] public var ctrlKey:Boolean = false; private var document:Object; public function initialized(document:Object, id:String):void { this.document = document; document.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); } private function keyDownHandler(event:KeyboardEvent):void { var checkShiftKey:Boolean = !(Number(event.shiftKey) ^ Number(shiftKey)); var checkCtrlKey:Boolean = !(Number(event.ctrlKey) ^ Number(ctrlKey)); if ((checkShiftKey && checkCtrlKey) && event.keyCode == key) { button.dispatchEvent(new MouseEvent(MouseEvent.CLICK)) } } } }