diff --git a/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs b/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs index 12bfab4bb..2736a3a26 100644 --- a/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs +++ b/src/Ryujinx.Input.SDL2/SDL2Gamepad.cs @@ -86,6 +86,11 @@ namespace Ryujinx.Input.SDL2 Features = GetFeaturesFlag(); _triggerThreshold = 0.0f; + //if (SDL_GameControllerHasLED(_gamepadHandle)) + { + _setControllerLedColor("000000"); + } + // Enable motion tracking if (Features.HasFlag(GamepadFeaturesFlag.Motion)) { @@ -101,6 +106,16 @@ namespace Ryujinx.Input.SDL2 } } + private void _setControllerLedColor(string hex) + { + ulong LEDcolor = Convert.ToUInt64(hex, 16); + byte red = (byte)((LEDcolor >> 16) % 256); + byte green = (byte)((LEDcolor >> 8) % 256); + byte blue = (byte)(LEDcolor % 256); + + SDL_GameControllerSetLED(_gamepadHandle, red, green, blue); + } + private GamepadFeaturesFlag GetFeaturesFlag() { GamepadFeaturesFlag result = GamepadFeaturesFlag.None;