Commit 73536d93ea66c4736e36cc0567a6a41785d9b0be

Ryan C. Gordon 2019-07-12T21:28:43

ios: Fixed MFi guide button not being detected (thanks, Caleb!). Fixes Bugzilla #4721.

diff --git a/src/joystick/iphoneos/SDL_sysjoystick.m b/src/joystick/iphoneos/SDL_sysjoystick.m
index 9548b7d..c50b629 100644
--- a/src/joystick/iphoneos/SDL_sysjoystick.m
+++ b/src/joystick/iphoneos/SDL_sysjoystick.m
@@ -658,6 +658,7 @@ IOS_MFIJoystickUpdate(SDL_Joystick * joystick)
             if (joystick->hwdata->button_mask & (1 << SDL_CONTROLLER_BUTTON_START)) {
                 if (joystick->hwdata->uses_pause_handler) {
                     pause_button_index = button_count;
+                    buttons[button_count++] = joystick->delayed_guide_button;
                 } else {
                     buttons[button_count++] = gamepad.buttonMenu.isPressed;
                 }
@@ -693,6 +694,7 @@ IOS_MFIJoystickUpdate(SDL_Joystick * joystick)
             buttons[button_count++] = gamepad.leftShoulder.isPressed;
             buttons[button_count++] = gamepad.rightShoulder.isPressed;
             pause_button_index = button_count;
+            buttons[button_count++] = joystick->delayed_guide_button;
 
             hatstate = IOS_MFIJoystickHatStateForDPad(gamepad.dpad);
 
@@ -725,6 +727,7 @@ IOS_MFIJoystickUpdate(SDL_Joystick * joystick)
             if (joystick->hwdata->button_mask & (1 << SDL_CONTROLLER_BUTTON_START)) {
                 if (joystick->hwdata->uses_pause_handler) {
                     pause_button_index = button_count;
+                    buttons[button_count++] = joystick->delayed_guide_button;
                 } else {
                     buttons[button_count++] = gamepad.buttonMenu.isPressed;
                 }