keyboardEvent Listener not listening

I made a document class and created an instance of a keyDetection class


//Document Class
package com
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import com.kDet;
	public class DocumentClass extends MovieClip
	{
		private var _kDet:kDet;
		public function DocumentClass()
		{
			trace("**Document Class Instantiated**");
			_kDet=new kDet();
			this.addEventListener(Event.ENTER_FRAME,codeLoop);
		}
		private function codeLoop(evt:Event):void{
			if(_kDet.upk){
				trace("up key is held");
			}
		}
	}
}

//kDet Class
package com
{
	import flash.display.MovieClip;
	import flash.events.KeyboardEvent;
	import flash.ui.Keyboard;
	public class kDet extends MovieClip
	{
		public var rightk:Boolean;
		public var leftk:Boolean
		public var upk:Boolean;
		public var downk:Boolean;
		
		public function kDet()
		{
			this.addEventListener(KeyboardEvent.KEY_DOWN,kd);
			this.addEventListener(KeyboardEvent.KEY_UP,ku);
			trace("**Key Detection instantiated**");
		}
		public function kd(evt:KeyboardEvent):void{
			switch(evt.keyCode){
				case Keyboard.RIGHT:
					rightk=true;
					break;
				case Keyboard.LEFT:
					leftk=true;
					break;
				case Keyboard.UP:
					upk=true;
					break;
				case Keyboard.DOWN:
					downk=true;
					break;
			}
		}
		public function ku(evt:KeyboardEvent):void{
			switch(evt.keyCode){
				case Keyboard.RIGHT:
					rightk=false;
					break;
				case Keyboard.LEFT:
					leftk=false;
					break;
				case Keyboard.UP:
					upk=false;
					break;
				case Keyboard.DOWN:
					downk=false;
					break;
			}
		}
	}
}

when i pressed the up it didnt assign upk to true… i placed trace() all over the function testing it out and it seems that the function is not dispatched at all… whats the problem with the code?? =(