public DeviceInput GetPressedInput()
        {
            State state;

            if (!_controller.GetState(out state))
            {
                return(null);
            }
            Gamepad gamepad = state.Gamepad;

            DeviceInput pressedInput;

            if (_buttonInputs.TryGetValue(gamepad.Buttons, out pressedInput))
            {
                return(pressedInput);
            }

            foreach (AxisDeviceInput axisInput in _axisInputs)
            {
                if (XInputController.IsAxisPressed(axisInput.Axis, gamepad))
                {
                    return(axisInput.DeviceInput);
                }
            }

            return(null);
        }
        protected bool TryGetGamepad(out Gamepad gamepad)
        {
            State state;

            if (_controller.GetState(out state))
            {
                gamepad = state.Gamepad;
                return(true);
            }
            gamepad = default(Gamepad);
            return(false);
        }