Skip to content

Commit

Permalink
tvOS: better handling of siri remote (#16991)
Browse files Browse the repository at this point in the history
  • Loading branch information
warmenhoven committed Sep 12, 2024
1 parent 08dd2a8 commit 801a4af
Showing 1 changed file with 6 additions and 31 deletions.
37 changes: 6 additions & 31 deletions input/drivers_joypad/mfi_joypad.m
Original file line number Diff line number Diff line change
Expand Up @@ -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])
{
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 801a4af

Please sign in to comment.