Added SDL_GetJoystickCaps() and SDL_GetGamepadCaps() to get the capabilities of controllers

Also added SDL_GAMEPAD_CAP_PLAYER_LED to let the application know if the controller has a visible player LED
This commit is contained in:
Sam Lantinga
2024-01-22 19:07:33 -08:00
parent c88c12148d
commit cd231a65f6
36 changed files with 133 additions and 226 deletions

View File

@@ -3485,34 +3485,14 @@ int SDL_RumbleGamepadTriggers(SDL_Gamepad *gamepad, Uint16 left_rumble, Uint16 r
return SDL_RumbleJoystickTriggers(joystick, left_rumble, right_rumble, duration_ms);
}
SDL_bool SDL_GamepadHasLED(SDL_Gamepad *gamepad)
Uint32 SDL_GetGamepadCaps(SDL_Gamepad *gamepad)
{
SDL_Joystick *joystick = SDL_GetGamepadJoystick(gamepad);
if (!joystick) {
return SDL_FALSE;
return 0;
}
return SDL_JoystickHasLED(joystick);
}
SDL_bool SDL_GamepadHasRumble(SDL_Gamepad *gamepad)
{
SDL_Joystick *joystick = SDL_GetGamepadJoystick(gamepad);
if (!joystick) {
return SDL_FALSE;
}
return SDL_JoystickHasRumble(joystick);
}
SDL_bool SDL_GamepadHasRumbleTriggers(SDL_Gamepad *gamepad)
{
SDL_Joystick *joystick = SDL_GetGamepadJoystick(gamepad);
if (!joystick) {
return SDL_FALSE;
}
return SDL_JoystickHasRumbleTriggers(joystick);
return SDL_GetJoystickCaps(joystick);
}
int SDL_SetGamepadLED(SDL_Gamepad *gamepad, Uint8 red, Uint8 green, Uint8 blue)