From 707717e94b22b0e815d27d9264948651b316455e Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 24 Jul 2025 14:00:20 -0700 Subject: [PATCH] Reverted: Added Steam Virtual Gamepad support to the GameInput driver This version of SDL doesn't support newer GameInput versions required for this feature. --- src/joystick/gdk/SDL_gameinputjoystick.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/joystick/gdk/SDL_gameinputjoystick.c b/src/joystick/gdk/SDL_gameinputjoystick.c index cc82fe9435..6cf0a902b7 100644 --- a/src/joystick/gdk/SDL_gameinputjoystick.c +++ b/src/joystick/gdk/SDL_gameinputjoystick.c @@ -46,7 +46,6 @@ typedef struct GAMEINPUT_InternalDevice SDL_GUID guid; // generated by SDL SDL_JoystickID device_instance; // generated by SDL const GameInputDeviceInfo *info; - int steam_virtual_gamepad_slot; bool isAdded; bool isDeleteRequested; } GAMEINPUT_InternalDevice; @@ -78,18 +77,6 @@ static bool GAMEINPUT_InternalIsGamepad(const GameInputDeviceInfo *info) return false; } -#if GAMEINPUT_API_VERSION >= 1 -static int GetSteamVirtualGamepadSlot(const char *device_path) -{ - int slot = -1; - - // The format for the raw input device path is documented here: - // https://partner.steamgames.com/doc/features/steam_controller/steam_input_gamepad_emulation_bestpractices - (void)SDL_sscanf(device_path, "\\\\.\\pipe\\HID#VID_045E&PID_028E&IG_00#%*X&%*X&%*X#%d#%*u", &slot); - return slot; -} -#endif // GAMEINPUT_API_VERSION >= 1 - static bool GAMEINPUT_InternalAddOrFind(IGameInputDevice *pDevice) { GAMEINPUT_InternalDevice **devicelist = NULL; @@ -160,11 +147,6 @@ static bool GAMEINPUT_InternalAddOrFind(IGameInputDevice *pDevice) elem->guid = SDL_CreateJoystickGUID(bus, vendor, product, version, manufacturer_string, product_string, 'g', 0); elem->device_instance = SDL_GetNextObjectID(); elem->info = info; -#if GAMEINPUT_API_VERSION >= 1 - elem->steam_virtual_gamepad_slot = GetSteamVirtualGamepadSlot(info->pnpPath); -#else - elem->steam_virtual_gamepad_slot = -1; -#endif g_GameInputList.devices = devicelist; g_GameInputList.devices[g_GameInputList.count++] = elem; @@ -351,7 +333,7 @@ static const char *GAMEINPUT_JoystickGetDevicePath(int device_index) static int GAMEINPUT_JoystickGetDeviceSteamVirtualGamepadSlot(int device_index) { - return GAMEINPUT_InternalFindByIndex(device_index)->steam_virtual_gamepad_slot; + return -1; } static int GAMEINPUT_JoystickGetDevicePlayerIndex(int device_index)