 
     private function stageText_softKeyboardActivateHandler(event:SoftKeyboardEvent):void
     {
-        startTextEdit();
-        dispatchEvent(new SoftKeyboardEvent(event.type,
-                true, event.cancelable, this, event.triggerType));
+
+        if ( startTextEdit()) {
+            trace("[DEBUG] stageText SK ACTIVATE:", debugId);
+            dispatchEvent(new SoftKeyboardEvent(event.type,
+                    true, event.cancelable, this, event.triggerType));
+        }
     }
 
     private function stageText_softKeyboardDeactivateHandler(event:SoftKeyboardEvent):void
     {
-        endTextEdit();
-        dispatchEvent(new SoftKeyboardEvent(event.type,
-                true, event.cancelable, this, event.triggerType));
-    }
-
+        if (endTextEdit()) {
+            trace("[DEBUG] stageText SK DE activate:", debugId);
+            dispatchEvent(new SoftKeyboardEvent(event.type,
+                    true, event.cancelable, this, event.triggerType));
+        }
+    }
+
+    protected function get debugId():String {
+        var parentSkin: UIComponent = this.parent.parent as UIComponent;
+        return    parentSkin ? parentSkin.id : "-" ;
+    }
 }
 }
 

     * EDITING AND FOCUS MANAGEMENT
     */

    protected function startTextEdit():void
    {
        if (!isEditing)
        {

import mx.core.UIComponent;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.events.TouchInteractionEvent;
import mx.managers.FocusManager;
import mx.managers.SystemManager;
import mx.utils.MatrixUtil;
