public bool isKeyUp(XKeyCode key)
        {
            switch (key)
            {
            case XKeyCode.A:
                return(state.Buttons.A == ButtonState.Released && prevState.Buttons.A == ButtonState.Pressed);

            case XKeyCode.B:
                return(state.Buttons.B == ButtonState.Released && prevState.Buttons.B == ButtonState.Pressed);

            case XKeyCode.X:
                return(state.Buttons.X == ButtonState.Released && prevState.Buttons.X == ButtonState.Pressed);

            case XKeyCode.Y:
                return(state.Buttons.Y == ButtonState.Released && prevState.Buttons.Y == ButtonState.Pressed);

            case XKeyCode.LeftShoulder:
                return(state.Buttons.LeftShoulder == ButtonState.Released && prevState.Buttons.LeftShoulder == ButtonState.Pressed);

            case XKeyCode.RightShoulder:
                return(state.Buttons.RightShoulder == ButtonState.Released && prevState.Buttons.RightShoulder == ButtonState.Pressed);

            case XKeyCode.DLeft:
                return(state.DPad.Left == ButtonState.Released && prevState.DPad.Left == ButtonState.Pressed);

            case XKeyCode.DUp:
                return(state.DPad.Up == ButtonState.Released && prevState.DPad.Up == ButtonState.Pressed);

            case XKeyCode.DRight:
                return(state.DPad.Right == ButtonState.Released && prevState.DPad.Right == ButtonState.Pressed);

            case XKeyCode.DDown:
                return(state.DPad.Down == ButtonState.Released && prevState.DPad.Down == ButtonState.Pressed);

            case XKeyCode.Back:
                return(state.Buttons.Back == ButtonState.Released && prevState.Buttons.Back == ButtonState.Pressed);

            case XKeyCode.Start:
                return(state.Buttons.Start == ButtonState.Released && prevState.Buttons.Start == ButtonState.Pressed);

            case XKeyCode.Guide:
                return(state.Buttons.Guide == ButtonState.Released && prevState.Buttons.Guide == ButtonState.Pressed);

            case XKeyCode.LeftStick:
                return(state.Buttons.LeftStick == ButtonState.Released && prevState.Buttons.LeftStick == ButtonState.Pressed);

            case XKeyCode.RightStick:
                return(state.Buttons.RightStick == ButtonState.Released && prevState.Buttons.RightStick == ButtonState.Pressed);

            default:
                Debug.LogWarning("No valid XKeyCode found");
                return(false);
            }
        }
        public bool isKeyUp(XKeyCode key)
        {
            switch (key)
            {
                case XKeyCode.A:
                    return state.Buttons.A == ButtonState.Released && prevState.Buttons.A == ButtonState.Pressed;

                case XKeyCode.B:
                    return state.Buttons.B == ButtonState.Released && prevState.Buttons.B == ButtonState.Pressed;

                case XKeyCode.X:
                    return state.Buttons.X == ButtonState.Released && prevState.Buttons.X == ButtonState.Pressed;

                case XKeyCode.Y:
                    return state.Buttons.Y == ButtonState.Released && prevState.Buttons.Y == ButtonState.Pressed;

                case XKeyCode.LeftShoulder:
                    return state.Buttons.LeftShoulder == ButtonState.Released && prevState.Buttons.LeftShoulder == ButtonState.Pressed;

                case XKeyCode.RightShoulder:
                    return state.Buttons.RightShoulder == ButtonState.Released && prevState.Buttons.RightShoulder == ButtonState.Pressed;

                case XKeyCode.DLeft:
                    return state.DPad.Left == ButtonState.Released && prevState.DPad.Left == ButtonState.Pressed;

                case XKeyCode.DUp:
                    return state.DPad.Up == ButtonState.Released && prevState.DPad.Up == ButtonState.Pressed;

                case XKeyCode.DRight:
                    return state.DPad.Right == ButtonState.Released && prevState.DPad.Right == ButtonState.Pressed;

                case XKeyCode.DDown:
                    return state.DPad.Down == ButtonState.Released && prevState.DPad.Down == ButtonState.Pressed;

                case XKeyCode.Back:
                    return state.Buttons.Back == ButtonState.Released && prevState.Buttons.Back == ButtonState.Pressed;

                case XKeyCode.Start:
                    return state.Buttons.Start == ButtonState.Released && prevState.Buttons.Start == ButtonState.Pressed;

                case XKeyCode.Guide:
                    return state.Buttons.Guide == ButtonState.Released && prevState.Buttons.Guide == ButtonState.Pressed;

                case XKeyCode.LeftStick:
                    return state.Buttons.LeftStick == ButtonState.Released && prevState.Buttons.LeftStick == ButtonState.Pressed;

                case XKeyCode.RightStick:
                    return state.Buttons.RightStick == ButtonState.Released && prevState.Buttons.RightStick == ButtonState.Pressed;

                default:
                    Debug.LogWarning("No valid XKeyCode found");
                    return false;
            }
        }