If I try this in my Application :
private function initApp():void{
trace("creationComplete()");
stage.focus = this;
this.addEventListener(KeyboardEvent.KEY_DOWN, trapKeys);
}
private function trapKeys(e:KeyboardEvent):void {
//textArea.text = String(e.charCode) + "/" +
String(e.keyCode);
// Debugger.show();
Alert.show("trapKeys()");
}
I get an error saying :
TypeError: Error #1009: Cannot access a property or method of a null
object reference.
at
TryOuts/TryOuts::init()[E:\_BEKAERT\specularis\TryOuts\TryOuts.mxml:14]
Line 14 being stage.focus = this;
So, apparently, I can't seem to access the stage...
________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Lieven Cardoen
Sent: donderdag 11 januari 2007 10:58
To: [email protected]
Subject: [flexcoders] KeyBoardEvents
Why are my KeyboardEvents not working?
GroundPlan is a chilc of a Canvas...
I also tried catching keyboard events in my Application.application but
it doesn't work neither...
I'm testing in Internet Explorer and my application has focus... thx.
public class GroundPlan extends Container
{...
public function addEventListeners():void{
this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDownHandler);
this.addEventListener(KeyboardEvent.KEY_UP, myKeyUpHandler);
}
/**
*
*/
private function myKeyDownHandler(event:KeyboardEvent):void {
trace("myKeyDownHandler(" + event + ")");
if(event.keyCode == Keyboard.CONTROL){
this.controlKeyDown = true;
}
}
/**
*
*/
private function myKeyUpHandler(event:KeyboardEvent):void{
trace("myKeyUpHandler(" + event + ")");
if(event.keyCode == Keyboard.CONTROL){
this.controlKeyDown = false;
}
}
Lieven Cardoen
Application developer
indiegroup
interactive digital experience
engelse wandeling 2 k18
b8500 kortrijk