mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
tvOS: better handling of siri remote (#16991)
This commit is contained in:
parent
08dd2a8f7b
commit
801a4af6f2
@ -436,6 +436,12 @@ static void apple_gamecontroller_joypad_connect(GCController *controller)
|
||||
if (!(desired_index >= 0 && desired_index < MAX_MFI_CONTROLLERS))
|
||||
desired_index = 0;
|
||||
|
||||
if (mfi_controller_is_siri_remote(controller))
|
||||
{
|
||||
RARCH_WARN("[mfi] ignoring siri remote as a controller\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Prevent same controller getting set twice */
|
||||
if ([mfiControllers containsObject:controller])
|
||||
{
|
||||
@ -500,37 +506,6 @@ static void apple_gamecontroller_joypad_connect(GCController *controller)
|
||||
|
||||
[mfiControllers addObject:controller];
|
||||
|
||||
/* Move any non-game controllers (like the Siri remote) to the end */
|
||||
if (mfiControllers.count > 1)
|
||||
{
|
||||
int newPlayerIndex = 0;
|
||||
NSInteger connectedNonGameControllerIndex = NSNotFound;
|
||||
NSUInteger index = 0;
|
||||
|
||||
for (GCController *connectedController in mfiControllers)
|
||||
{
|
||||
if ( connectedController.microGamepad != nil
|
||||
&& connectedController.extendedGamepad == nil )
|
||||
connectedNonGameControllerIndex = index;
|
||||
index++;
|
||||
}
|
||||
|
||||
if (connectedNonGameControllerIndex != NSNotFound)
|
||||
{
|
||||
GCController *nonGameController = [mfiControllers objectAtIndex:connectedNonGameControllerIndex];
|
||||
[mfiControllers removeObjectAtIndex:connectedNonGameControllerIndex];
|
||||
[mfiControllers addObject:nonGameController];
|
||||
}
|
||||
for (GCController *gc in mfiControllers)
|
||||
gc.playerIndex = newPlayerIndex++;
|
||||
}
|
||||
|
||||
if (mfi_controller_is_siri_remote(controller))
|
||||
{
|
||||
RARCH_WARN("[mfi] ignoring siri remote as a controller\n");
|
||||
return;
|
||||
}
|
||||
|
||||
RARCH_LOG("[mfi] controller connected, beginning setup and autodetect\n");
|
||||
apple_gamecontroller_joypad_register(controller);
|
||||
apple_gamecontroller_joypad_setup_haptics(controller);
|
||||
|
Loading…
x
Reference in New Issue
Block a user