 				_canvas.addEventListener("touchend", canvas_touchevent,false);
 				_canvas.addEventListener("touchmove", canvas_touchevent,false);
 				_canvas.addEventListener("touchstart", canvas_touchevent,false);
+				document.addEventListener("keydown", canvas_keyevent,false);
+				document.addEventListener("keyup", canvas_keyevent,false);
 				_canvas.style.position = "absolute";
 				_canvas.style.left = 0;
 				_canvas.style.top = 0;

		
		public function set quality(param1:String):void  {/**/ }
		
		public function get displayState():String  { return null }
		
		public function set displayState(param1:String):void  {/**/ }
		
		public function get fullScreenSourceRect():Rectangle  { return null }
		

		private var needSendTouchMove:Boolean = false;
		private var lastUpdateTime:int = -1000;
		//private var requestAnimationFrameHander:Number;
		private var _loaderInfo:LoaderInfo;
		private var _stageWidth:Number;
		private var _stageHeight:Number;
		public function Stage()
		{
			super();
			window_resize(null);
			_loaderInfo = new LoaderInfo();
			if (SpriteFlexjs.startTime===0) {
				SpriteFlexjs.startTime = Date.now();
			}
