 			invalidateDisplayList();
 		}
 		
+		private function handleKeyboard():void
+		{
+			if (editMode)
+				toggleMouseEnabled();
+		}
+		
 		/**
 		 * Handle a mouse move event. 
-		 */		
+		 */
 		private function handleMouseMove():void
 		{
-			if (_drawing && editMode)// && !mouseOffscreen())
+			if (!editMode)
+				return;
+			
+			toggleMouseEnabled();
+			
+			if (_drawing)// && !mouseOffscreen())
 			{
 				// get the current line
 				var line:Array = _coordsArrays[_coordsArrays.length - 1];

	import flash.display.DisplayObject;
	import flash.display.Graphics;
	import flash.events.ContextMenuEvent;
	import flash.events.MouseEvent;
	import flash.geom.Point;
	import flash.ui.ContextMenu;

			addEventListener(MouseEvent.MOUSE_OUT, handleRollOut);
			// add local event listener for mouse down. local rather than global because we don't care if mouse was pressed elsewhere
			addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
			addEventListener(MouseEvent.CLICK, handleMouseDown);

			addEventListener(FlexEvent.CREATION_COMPLETE, handleCreationComplete);

