mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-10-26 12:27:44 +00:00 
			
		
		
		
	Make sure we synchronously re-enable USB reporting mode for Switch controllers (thanks @SortaCore!)
Fixes https://github.com/libsdl-org/SDL/issues/3450
(cherry picked from commit b7c6fec10a)
			
			
This commit is contained in:
		| @@ -2163,7 +2163,11 @@ static SDL_bool HIDAPI_DriverSwitch_UpdateDevice(SDL_HIDAPI_Device *device) | |||||||
|                 const Uint32 INPUT_WAIT_TIMEOUT_MS = 100; |                 const Uint32 INPUT_WAIT_TIMEOUT_MS = 100; | ||||||
|                 if (SDL_TICKS_PASSED(now, ctx->m_unLastInput + INPUT_WAIT_TIMEOUT_MS)) { |                 if (SDL_TICKS_PASSED(now, ctx->m_unLastInput + INPUT_WAIT_TIMEOUT_MS)) { | ||||||
|                     /* Steam may have put the controller back into non-reporting mode */ |                     /* 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); |                     WriteProprietary(ctx, k_eSwitchProprietaryCommandIDs_ForceUSB, NULL, 0, SDL_FALSE); | ||||||
|  |                     ctx->m_bSyncWrite = wasSyncWrite; | ||||||
|                 } |                 } | ||||||
|             } else if (device->is_bluetooth) { |             } else if (device->is_bluetooth) { | ||||||
|                 const Uint32 INPUT_WAIT_TIMEOUT_MS = 3000; |                 const Uint32 INPUT_WAIT_TIMEOUT_MS = 3000; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sam Lantinga
					Sam Lantinga