diff --git a/src/joystick/hidapi/SDL_hidapi_switch.c b/src/joystick/hidapi/SDL_hidapi_switch.c index e3ba8863c..5ef5b8908 100644 --- a/src/joystick/hidapi/SDL_hidapi_switch.c +++ b/src/joystick/hidapi/SDL_hidapi_switch.c @@ -2161,7 +2161,11 @@ static SDL_bool HIDAPI_DriverSwitch_UpdateDevice(SDL_HIDAPI_Device *device) const int INPUT_WAIT_TIMEOUT_MS = 100; if (now >= (ctx->m_ulLastInput + INPUT_WAIT_TIMEOUT_MS)) { /* Steam may have put the controller back into non-reporting mode */ + SDL_bool wasSyncWrite = ctx->m_bSyncWrite; + + ctx->m_bSyncWrite = SDL_TRUE; WriteProprietary(ctx, k_eSwitchProprietaryCommandIDs_ForceUSB, NULL, 0, SDL_FALSE); + ctx->m_bSyncWrite = wasSyncWrite; } } else if (device->is_bluetooth) { const int INPUT_WAIT_TIMEOUT_MS = 3000;