 [Event(name="dataChange", type="mx.events.FlexEvent")]
 
 /**
+ *  Dispatched when the menu key is pressed when a view exists inside
+ *  a mobile application.
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ * 
+ *  @eventType mx.events.FlexEvent.MENU_KEY_PRESSED
+ * 
+ */
+[Event(name="menuKeyPressed", type="mx.events.FlexEvent")]
+
+/**
  *  Dispatched when the current view has been activated.
  * 
  *  @eventType mx.events.ViewNavigatorEvent.VIEW_ACTIVATE

    }
    
    /**
     *  Returns the state the view should be in based on the orientation
     *  of the device.
     * 
     *  @return A String specifying the name of the state to apply to the screen. 
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10.1

    /**
     *  @private
     */ 
    mx_internal function backKeyHandledByView():Boolean
    {
        if (hasEventListener(FlexEvent.BACK_KEY_PRESSED))
        {
            var event:FlexEvent = new FlexEvent(FlexEvent.BACK_KEY_PRESSED, false, true);
            var eventCanceled:Boolean = !dispatchEvent(event);
            
            // If the event was canceled, that means the application
            // is doing its own custom logic for the back key
            return eventCanceled;
        }
        
        return false;
    }
    
    /**
     *  @private
     */ 
    mx_internal function menuKeyHandledByView():Boolean
    {
        if (hasEventListener(FlexEvent.MENU_KEY_PRESSED))
        {
            var event:FlexEvent = new FlexEvent(FlexEvent.MENU_KEY_PRESSED, false, true);
            var eventCanceled:Boolean = !dispatchEvent(event);
            
            // If the event was canceled, that means the application
