Ported: iOS: Implement missing gamepad.buttonOptions, buttonMenu, and buttonHome joy buttons.

- BZ1234567890
0a85e4db71
This commit is contained in:
Relintai 2023-03-12 15:32:44 +01:00
parent 9fb30c4441
commit 930dccc430

View File

@ -32,9 +32,9 @@
#include "core/config/project_settings.h"
#include "drivers/coreaudio/audio_driver_coreaudio.h"
#import "pandemonium_view.h"
#include "main/main.h"
#include "os_iphone.h"
#import "pandemonium_view.h"
JoypadIPhone::JoypadIPhone() {
observer = [[JoypadIPhoneObserver alloc] init];
@ -309,6 +309,20 @@ void JoypadIPhone::start_processing() {
float value = gamepad.rightTrigger.value;
OSIPhone::get_singleton()->joy_axis(joy_id, JOY_ANALOG_R2, value);
}
if (@available(iOS 13, *)) {
if (element == gamepad.buttonOptions) {
OSIPhone::get_singleton()->joy_button(joy_id, JOY_BUTTON_10, gamepad.buttonOptions.isPressed);
} else if (element == gamepad.buttonMenu) {
OSIPhone::get_singleton()->joy_button(joy_id, JOY_BUTTON_11, gamepad.buttonMenu.isPressed);
}
}
if (@available(iOS 14, *)) {
if (element == gamepad.buttonHome) {
OSIPhone::get_singleton()->joy_button(joy_id, JOY_GUIDE, gamepad.buttonHome.isPressed);
}
}
};
} else if (controller.microGamepad != nil) {
// micro gamepads were added in OS 9 and feature just 2 buttons and a d-pad