1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-16 14:00:40 +00:00

Add support for joypad LED lights

This commit is contained in:
Nintorch
2025-11-12 05:56:05 +05:00
parent e47fb8b898
commit a55242747a
5 changed files with 58 additions and 5 deletions

View File

@@ -301,6 +301,19 @@ void JoypadSDL::close_joypad(int p_pad_idx) {
}
}
bool JoypadSDL::Joypad::has_joy_light() const {
SDL_PropertiesID properties_id = SDL_GetJoystickProperties(get_sdl_joystick());
if (properties_id == 0) {
return false;
}
return SDL_GetBooleanProperty(properties_id, SDL_PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN, false) || SDL_GetBooleanProperty(properties_id, SDL_PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN, false);
}
bool JoypadSDL::Joypad::set_joy_light(const Color &p_color) {
Color linear = p_color.srgb_to_linear();
return SDL_SetJoystickLED(get_sdl_joystick(), linear.get_r8(), linear.get_g8(), linear.get_b8());
}
SDL_Joystick *JoypadSDL::Joypad::get_sdl_joystick() const {
return SDL_GetJoystickFromID(sdl_instance_idx);
}