diff --git a/ios/ios_pad/source/controllers/switch_controller.c b/ios/ios_pad/source/controllers/switch_controller.c index 9a6e4ba..ac0a08a 100644 --- a/ios/ios_pad/source/controllers/switch_controller.c +++ b/ios/ios_pad/source/controllers/switch_controller.c @@ -465,11 +465,15 @@ static void handle_command_response(Controller* controller, SwitchCommandRespons // set the leds now that we know the device type setPlayerLeds(controller); - + } else if (resp->command == SWITCH_COMMAND_SET_PLAYER_LEDS) { + // Early return for controllers that are already initialized + if(controller->isReady) { + return; + } // enable rumble setVibration(controller, 1); - - /* Calibration causes issues for third-party controllers */ + } else if (resp->command == SWITCH_COMMAND_ENABLE_VIBRATION) { + /* Calibration causes issues for some third-party controllers */ if ((sdata->device == SWITCH_DEVICE_JOYCON_LEFT || /*sdata->device == SWITCH_DEVICE_TP_JOYCON_LEFT ||*/ sdata->device == SWITCH_DEVICE_JOYCON_RIGHT || /*sdata->device == SWITCH_DEVICE_TP_JOYCON_RIGHT ||*/ sdata->device == SWITCH_DEVICE_PRO || /*sdata->device == SWITCH_DEVICE_TP_PRO ||*/