void Update()
    {
        #region Axis
        #region LeftStick
        OnVerticalAxisInput?.Invoke(LeftStickY);
        OnHorizontalAxisInput?.Invoke(LeftStickX);
        OnMoveAxisInput?.Invoke(LeftStickX, LeftStickY);
        #endregion
        #region RightStick
        OnRotateXAxisInput?.Invoke(RightStickX);
        OnRotateYAxisInput?.Invoke(RightStickY);
        OnRotateAxisInput?.Invoke(RightStickX, RightStickY);
        #endregion
        #region D-Pad
        OnDpadxAxis?.Invoke(Dpadx);
        OnDpadyAxis?.Invoke(Dpady);
        #endregion
        #region Triggers
        OnRightTriggerAxis?.Invoke(RightTrigger);
        OnLeftTriggerAxis?.Invoke(LeftTrigger);
        #endregion
        #endregion
        #region Buttons
        #region A
        #region GetKey
        OnAInputPress?.Invoke(AButton);
        #endregion
        #region GetKeyDown
        OnADownInputPress?.Invoke(AButtonDown);
        #endregion
        #region GetKeyUp
        OnAUpInputPress?.Invoke(AButtonUp);
        #endregion
        #endregion
        #region B
        #region GetKey
        OnBInputPress?.Invoke(BButton);
        #endregion
        #region GetKeyDown
        OnBDownInputPress?.Invoke(BButtonDown);
        #endregion
        #region GetKeyUp
        OnBUpInputPress?.Invoke(BButtonUp);
        #endregion
        //BUp

        //BDown

        #endregion
        #region X
        #region GetKey
        OnXInputPress?.Invoke(XButton);
        #endregion
        #region GetKeyDown
        OnXDownInputPress?.Invoke(XButtonDown);
        #endregion
        #region GetKeyUp
        OnXUpInputPress?.Invoke(XButtonUp);
        #endregion
        #endregion
        #region Y
        #region GetKey
        OnYInputPress?.Invoke(YButton);
        #endregion
        #region GetKeyDown
        OnYDownInputPress?.Invoke(YButtonDown);
        #endregion
        #region GetKeyUp
        OnYUpInputPress?.Invoke(YButtonUp);
        #endregion
        #endregion
        #region Start
        #region GetKey
        OnStartInputPress?.Invoke(StartButton);
        #endregion
        #region GetKeyDown
        OnStartDownInputPress?.Invoke(StartButtonDown);
        #endregion
        #region GetKeyUp
        OnStartUpInputPress?.Invoke(StartButtonUp);
        #endregion
        #endregion
        #region Bumper
        #region GetKeyDown
        OnRightBumperDownInputPress?.Invoke(RightBumperDown);
        OnLeftBumperDownInputPress?.Invoke(LeftBumperDown);
        #endregion
        #region GetKeyUp
        OnRightBumperUpInputPress?.Invoke(RightBumperUp);
        OnLeftBumperUpInputPress?.Invoke(LeftBumperUp);
        #endregion
        #region GetKey
        OnRightBumperInputPress?.Invoke(RightBumper);
        OnLeftBumperInputPress?.Invoke(LeftBumper);
        #endregion
        #endregion
        #region Dpad Button
        OnDpadxButton?.Invoke(DpadxButton);
        OnDpadyButton?.Invoke(DpadyButton);
        #endregion
        #region LeftStickClick
        #region GetKey
        OnLeftStickClickInputPress?.Invoke(LeftStickClick);
        #endregion
        #region GetKeyDown
        OnLeftStickClickDownInputPress?.Invoke(leftStickClickDown);
        #endregion
        #region GetKeyUp
        OnLeftStickClickUpInputPress?.Invoke(leftStickClickUp);
        #endregion
        #endregion
        #region RightStickClick
        #region GetKey
        OnRightStickClickInputPress?.Invoke(RightStickClick);
        #endregion
        #region GetKeyDown
        OnRightStickClickDownInputPress?.Invoke(RightStickClickDown);
        #endregion
        #region GetKeyUp
        OnRightStickClickUpInputPress?.Invoke(RightStickClickUp);
        #endregion
        #endregion

        #endregion
    }