public VirtualControllerState GetState(GameTime gameTime)
        {
            VirtualControllerState state = new VirtualControllerState();

              GamePadState pad = GamePad.GetState(PlayerIndex.One);

              state.IsConnected = pad.IsConnected;

              state.Up = pad.IsButtonDown(Buttons.DPadUp);
              state.Down = pad.IsButtonDown(Buttons.DPadDown);
              state.Left = pad.IsButtonDown(Buttons.DPadLeft);
              state.Right = pad.IsButtonDown(Buttons.DPadRight);

              state.Select = pad.IsButtonDown(Buttons.A);
              state.Delete = pad.IsButtonDown(Buttons.B);
              state.Context = pad.IsButtonDown(Buttons.Y);
              state.Mode = pad.IsButtonDown(Buttons.X);
              state.Pause = pad.IsButtonDown(Buttons.Start);
              state.Debug = pad.IsButtonDown(Buttons.Back);

              state.Point = MoveMousePointer(gameTime, pad);

              state.Easter =
            pad.IsButtonDown(Buttons.LeftShoulder) && pad.IsButtonDown(Buttons.LeftShoulder) &&
            pad.IsButtonDown(Buttons.LeftTrigger) && pad.IsButtonDown(Buttons.RightTrigger);

              return state;
        }
        public VirtualControllerState GetState(GameTime gameTime)
        {
            VirtualControllerState state = new VirtualControllerState();

              KeyboardState kb = Keyboard.GetState();
              MouseState mouse = Mouse.GetState();

              state.IsConnected = true;

              state.Point = new Point(mouse.X, mouse.Y);

              state.Up = kb.IsKeyDown(Keys.Up);
              state.Down = kb.IsKeyDown(Keys.Down);
              state.Left = kb.IsKeyDown(Keys.Left);
              state.Right = kb.IsKeyDown(Keys.Right);

              state.Select = kb.IsKeyDown(Keys.Space) || mouse.LeftButton == ButtonState.Pressed;
              state.Delete = kb.IsKeyDown(Keys.Back) || mouse.RightButton == ButtonState.Pressed;
              state.Context = kb.IsKeyDown(Keys.Enter);
              state.Mode = kb.IsKeyDown(Keys.T);
              state.Pause = kb.IsKeyDown(Keys.Escape);
              state.Debug = kb.IsKeyDown(Keys.D);

              state.Easter =
            kb.IsKeyDown(Keys.LeftShift) && kb.IsKeyDown(Keys.RightShift) &&
            kb.IsKeyDown(Keys.LeftControl) && kb.IsKeyDown(Keys.RightControl) &&
            kb.IsKeyDown(Keys.LeftAlt) && kb.IsKeyDown(Keys.RightAlt);

              return state;
        }