public virtual void setSimulateMultitouch(bool _value)
 {
     if (getSimulateMultitouch() == _value)
     {
         return;
     }
     if (_value)
     {
         mTouchMarker = new AsTouchMarker();
         mTouchMarker.setVisible(false);
         mStage.addChild(mTouchMarker);
     }
     else
     {
         mTouchMarker.removeFromParent(true);
         mTouchMarker = null;
     }
 }
 private void onKey(AsKeyboardEvent _event)
 {
     if (_event.getKeyCode() == 17 || _event.getKeyCode() == 15)
     {
         bool wasCtrlDown = mCtrlDown;
         mCtrlDown = _event.getType() == AsKeyboardEvent.KEY_DOWN;
         if (getSimulateMultitouch() && wasCtrlDown != mCtrlDown)
         {
             mTouchMarker.setVisible(mCtrlDown);
             mTouchMarker.moveCenter(mStage.getStageWidth() / 2, mStage.getStageHeight() / 2);
             AsTouch mouseTouch  = getCurrentTouch(0);
             AsTouch mockedTouch = getCurrentTouch(1);
             if (mouseTouch != null)
             {
                 mTouchMarker.moveMarker(mouseTouch.getGlobalX(), mouseTouch.getGlobalY());
             }
             if (wasCtrlDown && mockedTouch != null && mockedTouch.getPhase() != AsTouchPhase.ENDED)
             {
                 mQueue.unshift(new AsArray(1, AsTouchPhase.ENDED, mockedTouch.getGlobalX(), mockedTouch.getGlobalY()));
             }
             else
             {
                 if (mCtrlDown && mouseTouch != null)
                 {
                     if (mouseTouch.getPhase() == AsTouchPhase.BEGAN || mouseTouch.getPhase() == AsTouchPhase.MOVED)
                     {
                         mQueue.unshift(new AsArray(1, AsTouchPhase.BEGAN, mTouchMarker.getMockX(), mTouchMarker.getMockY()));
                     }
                     else
                     {
                         mQueue.unshift(new AsArray(1, AsTouchPhase.HOVER, mTouchMarker.getMockX(), mTouchMarker.getMockY()));
                     }
                 }
             }
         }
     }
     else
     {
         if (_event.getKeyCode() == 16)
         {
             mShiftDown = _event.getType() == AsKeyboardEvent.KEY_DOWN;
         }
     }
 }
 public virtual void setSimulateMultitouch(bool _value)
 {
     if(getSimulateMultitouch() == _value)
     {
         return;
     }
     if(_value)
     {
         mTouchMarker = new AsTouchMarker();
         mTouchMarker.setVisible(false);
         mStage.addChild(mTouchMarker);
     }
     else
     {
         mTouchMarker.removeFromParent(true);
         mTouchMarker = null;
     }
 }