added function to handle gamepad led while in settings; added rainbow color handling in the new function.

This commit is contained in:
uncavo-hdmi 2025-02-18 13:40:34 +01:00
parent fd9bce0f6b
commit 38ecb3d5bc
2 changed files with 22 additions and 14 deletions

View File

@ -19,7 +19,6 @@ using Ryujinx.Common.Logging;
using Ryujinx.Common.SystemInterop;
using Ryujinx.Graphics.Vulkan.MoltenVK;
using Ryujinx.Headless;
using Ryujinx.Input.SDL2;
using Ryujinx.SDL2.Common;
using System;
using System.Collections.Generic;

View File

@ -379,22 +379,31 @@ namespace Ryujinx.Ava.UI.ViewModels.Input
LoadDevice();
_isLoaded = true;
if (ConfigViewModel is not ControllerInputViewModel controllerInputViewModel) return;
GamepadInputConfig inputConfig = controllerInputViewModel.Config;
if (inputConfig is not { EnableLedChanging: true }) return;
if (inputConfig.TurnOffLed)
{
SelectedGamepad.ClearLed();
}
else
{
SelectedGamepad.SetLed(inputConfig.LedColor.ToUInt32());
}
UpdateGamepadLed();
});
}
private void UpdateGamepadLed()
{
if (ConfigViewModel is not ControllerInputViewModel controllerInputViewModel) return;
GamepadInputConfig inputConfig = controllerInputViewModel.Config;
if (inputConfig is not { EnableLedChanging: true }) return;
if (inputConfig.TurnOffLed)
{
SelectedGamepad.ClearLed();
}
else if(inputConfig.UseRainbowLed)
{
SelectedGamepad.SetLed((uint)Rainbow.Color.ToArgb());
}
else
{
SelectedGamepad.SetLed(inputConfig.LedColor.ToUInt32());
}
}
private string GetCurrentGamepadId()
{
if (_device < 0)