mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-06 06:34:35 +00:00
gamepad: Add SDL_GAMEPAD_TYPE_STEAM for Steam Controllers
This commit is contained in:
parent
ae25abeb0d
commit
3b57e9e11f
5 changed files with 16 additions and 1 deletions
|
|
@ -122,6 +122,7 @@ typedef enum SDL_GamepadType
|
||||||
SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT,
|
SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT,
|
||||||
SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR,
|
SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR,
|
||||||
SDL_GAMEPAD_TYPE_GAMECUBE,
|
SDL_GAMEPAD_TYPE_GAMECUBE,
|
||||||
|
SDL_GAMEPAD_TYPE_STEAM,
|
||||||
SDL_GAMEPAD_TYPE_COUNT
|
SDL_GAMEPAD_TYPE_COUNT
|
||||||
} SDL_GamepadType;
|
} SDL_GamepadType;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -548,6 +548,9 @@ char *SDL_CreateDeviceName(Uint16 vendor, Uint16 product, const char *vendor_nam
|
||||||
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO:
|
case SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO:
|
||||||
name = SDL_strdup("Nintendo Switch Pro Controller");
|
name = SDL_strdup("Nintendo Switch Pro Controller");
|
||||||
break;
|
break;
|
||||||
|
case SDL_GAMEPAD_TYPE_STEAM:
|
||||||
|
name = SDL_strdup("Steam Controller");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
len = (6 + 1 + 6 + 1);
|
len = (6 + 1 + 6 + 1);
|
||||||
name = (char *)SDL_malloc(len);
|
name = (char *)SDL_malloc(len);
|
||||||
|
|
|
||||||
|
|
@ -1494,7 +1494,8 @@ static const char *map_StringForGamepadType[] = {
|
||||||
"joyconleft",
|
"joyconleft",
|
||||||
"joyconright",
|
"joyconright",
|
||||||
"joyconpair",
|
"joyconpair",
|
||||||
"gamecube"
|
"gamecube",
|
||||||
|
"steam"
|
||||||
};
|
};
|
||||||
SDL_COMPILE_TIME_ASSERT(map_StringForGamepadType, SDL_arraysize(map_StringForGamepadType) == SDL_GAMEPAD_TYPE_COUNT);
|
SDL_COMPILE_TIME_ASSERT(map_StringForGamepadType, SDL_arraysize(map_StringForGamepadType) == SDL_GAMEPAD_TYPE_COUNT);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3173,6 +3173,14 @@ SDL_GamepadType SDL_GetGamepadTypeFromVIDPID(Uint16 vendor, Uint16 product, cons
|
||||||
type = SDL_GAMEPAD_TYPE_STANDARD;
|
type = SDL_GAMEPAD_TYPE_STANDARD;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case k_eControllerType_SteamController:
|
||||||
|
case k_eControllerType_SteamControllerV2:
|
||||||
|
case k_eControllerType_SteamControllerNeptune:
|
||||||
|
case k_eControllerType_SteamControllerTriton:
|
||||||
|
case k_eControllerType_HoriSteamController:
|
||||||
|
case k_eControllerType_UnknownSteamController:
|
||||||
|
type = SDL_GAMEPAD_TYPE_STEAM;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3643,6 +3643,8 @@ const char *GetGamepadTypeString(SDL_GamepadType type)
|
||||||
return "Joy-Con Pair";
|
return "Joy-Con Pair";
|
||||||
case SDL_GAMEPAD_TYPE_GAMECUBE:
|
case SDL_GAMEPAD_TYPE_GAMECUBE:
|
||||||
return "GameCube";
|
return "GameCube";
|
||||||
|
case SDL_GAMEPAD_TYPE_STEAM:
|
||||||
|
return "Steam";
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue