From 43948d4d4aba899bd16130112d42eafe30eb40f6 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 2 Jan 2021 12:57:58 -0800 Subject: [PATCH] iOS: Expose iOS 12.1+/13/14 buttons. Now with corrected version checks. --- ios/ViewController.mm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/ios/ViewController.mm b/ios/ViewController.mm index 1f665e4b37..7ba5a84878 100644 --- a/ios/ViewController.mm +++ b/ios/ViewController.mm @@ -673,6 +673,38 @@ static LocationHelper *locationHelper; extendedProfile.rightTrigger.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) { [self controllerButtonPressed:pressed keyCode:NKCODE_BUTTON_10]; // Start }; + +#if defined(__IPHONE_12_1) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_12_1 + if (extendedProfile.leftThumbstickButton != nil) { + extendedProfile.leftThumbstickButton.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) { + [self controllerButtonPressed:pressed keyCode:NKCODE_BUTTON_11]; + }; + } + if (extendedProfile.rightThumbstickButton != nil) { + extendedProfile.rightThumbstickButton.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) { + [self controllerButtonPressed:pressed keyCode:NKCODE_BUTTON_12]; + }; + } +#endif +#if defined(__IPHONE_13) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13 + if (extendedProfile.buttonOptions != nil) { + extendedProfile.buttonOptions.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) { + [self controllerButtonPressed:pressed keyCode:NKCODE_BUTTON_13]; + }; + } + if (extendedProfile.buttonMenu != nil) { + extendedProfile.buttonMenu.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) { + [self controllerButtonPressed:pressed keyCode:NKCODE_BUTTON_14]; + }; + } +#endif +#if defined(__IPHONE_14_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0 + if (extendedProfile.buttonHome != nil) { + extendedProfile.buttonHome.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) { + [self controllerButtonPressed:pressed keyCode:NKCODE_BUTTON_15]; + }; + } +#endif extendedProfile.leftThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value) { AxisInput axisInput;