         if (sm.isTopLevel() && Capabilities.isDebugger == true)
             setInterval(debugTickler, 1500);
     }
+    
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+        
+        // Only listen for softKeyboard events 
+        // if the runtime supports a soft keyboard
+        if (softKeyboardBehavior != "")
+        {
+            addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE, 
+                softKeyboardActivateHandler, true, 
+                EventPriority.DEFAULT, true);
+            addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, 
+                softKeyboardDeactivateHandler, true, 
+                EventPriority.DEFAULT, true);
+        }
+    }
 
     /**
      *  @private

        if (this === FlexGlobals.topLevelApplication)
        {            
            isSoftKeyboardActive = false;
            var sm:SystemManager = systemManager as SystemManager;
            var scaleFactor:Number = 1;
            
            // Account for any density scaling
            if (sm)
                scaleFactor = sm.densityScale;
            
            // Restore the original values
            setActualSize(stage.stageWidth / scaleFactor, stage.stageHeight / scaleFactor);
            
            validateNow(); // Validate so that other listeners like Scroller get the updated dimensions
        }
    }
    

                systemManager.removeEventListener(Event.RESIZE, resizeHandler);
                resizeHandlerAdded = false;
            }
        }

        if (percentBoundsChanged)
