Update LED as its changed in the UI
This commit is contained in:
parent
cfe42563f2
commit
72d5af8b46
@ -106,8 +106,6 @@ namespace Ryujinx.Input.SDL2
|
|||||||
public void SetLed(uint packedRgb)
|
public void SetLed(uint packedRgb)
|
||||||
{
|
{
|
||||||
if (!Features.HasFlag(GamepadFeaturesFlag.Led)) return;
|
if (!Features.HasFlag(GamepadFeaturesFlag.Led)) return;
|
||||||
if (!HasConfiguration) return;
|
|
||||||
if (!_configuration.Led.EnableLed) return;
|
|
||||||
|
|
||||||
byte red = (byte)(packedRgb >> 16);
|
byte red = (byte)(packedRgb >> 16);
|
||||||
byte green = (byte)(packedRgb >> 8);
|
byte green = (byte)(packedRgb >> 8);
|
||||||
@ -234,7 +232,7 @@ namespace Ryujinx.Input.SDL2
|
|||||||
{
|
{
|
||||||
_configuration = (StandardControllerInputConfig)configuration;
|
_configuration = (StandardControllerInputConfig)configuration;
|
||||||
|
|
||||||
if (Features.HasFlag(GamepadFeaturesFlag.Led))
|
if (Features.HasFlag(GamepadFeaturesFlag.Led) && _configuration.Led.EnableLed)
|
||||||
SetLed(_configuration.Led.LedColor);
|
SetLed(_configuration.Led.LedColor);
|
||||||
|
|
||||||
_buttonsUserMapping.Clear();
|
_buttonsUserMapping.Clear();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using Ryujinx.Common.Configuration.Hid;
|
using Ryujinx.Common.Configuration.Hid;
|
||||||
using Ryujinx.Common.Configuration.Hid.Keyboard;
|
using Ryujinx.Common.Configuration.Hid.Keyboard;
|
||||||
|
using Ryujinx.Common.Logging;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
@ -385,7 +386,10 @@ namespace Ryujinx.Input.SDL2
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetLed(uint packedRgb) {}
|
public void SetLed(uint packedRgb)
|
||||||
|
{
|
||||||
|
Logger.Info?.Print(LogClass.UI, "SetLed called on an SDL2Keyboard");
|
||||||
|
}
|
||||||
|
|
||||||
public void SetTriggerThreshold(float triggerThreshold)
|
public void SetTriggerThreshold(float triggerThreshold)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Ryujinx.Common.Configuration.Hid;
|
using Ryujinx.Common.Configuration.Hid;
|
||||||
|
using Ryujinx.Common.Logging;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
@ -76,7 +77,10 @@ namespace Ryujinx.Input.SDL2
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetLed(uint packedRgb) {}
|
public void SetLed(uint packedRgb)
|
||||||
|
{
|
||||||
|
Logger.Info?.Print(LogClass.UI, "SetLed called on an SDL2Mouse");
|
||||||
|
}
|
||||||
|
|
||||||
public void SetTriggerThreshold(float triggerThreshold)
|
public void SetTriggerThreshold(float triggerThreshold)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using Ryujinx.Common.Configuration.Hid;
|
using Ryujinx.Common.Configuration.Hid;
|
||||||
using Ryujinx.Common.Configuration.Hid.Keyboard;
|
using Ryujinx.Common.Configuration.Hid.Keyboard;
|
||||||
|
using Ryujinx.Common.Logging;
|
||||||
using Ryujinx.Input;
|
using Ryujinx.Input;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -143,7 +144,10 @@ namespace Ryujinx.Ava.Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetLed(uint packedRgb) { }
|
public void SetLed(uint packedRgb)
|
||||||
|
{
|
||||||
|
Logger.Info?.Print(LogClass.UI, "SetLed called on an AvaloniaKeyboard");
|
||||||
|
}
|
||||||
|
|
||||||
public void SetTriggerThreshold(float triggerThreshold) { }
|
public void SetTriggerThreshold(float triggerThreshold) { }
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Ryujinx.Common.Configuration.Hid;
|
using Ryujinx.Common.Configuration.Hid;
|
||||||
|
using Ryujinx.Common.Logging;
|
||||||
using Ryujinx.Input;
|
using Ryujinx.Input;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
@ -74,7 +75,10 @@ namespace Ryujinx.Ava.Input
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetLed(uint packedRgb) { }
|
public void SetLed(uint packedRgb)
|
||||||
|
{
|
||||||
|
Logger.Info?.Print(LogClass.UI, "SetLed called on an AvaloniaMouse");
|
||||||
|
}
|
||||||
|
|
||||||
public void SetTriggerThreshold(float triggerThreshold)
|
public void SetTriggerThreshold(float triggerThreshold)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using Avalonia.Svg.Skia;
|
using Avalonia.Svg.Skia;
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
using FluentAvalonia.UI.Controls;
|
||||||
using Ryujinx.Ava.UI.Models.Input;
|
using Ryujinx.Ava.UI.Models.Input;
|
||||||
using Ryujinx.Ava.UI.Views.Input;
|
using Ryujinx.Ava.UI.Views.Input;
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<!-- Motion + Rumble -->
|
<!-- Motion, Rumble, LED -->
|
||||||
<StackPanel
|
<StackPanel
|
||||||
Margin="0,10,0,0"
|
Margin="0,10,0,0"
|
||||||
Spacing="5"
|
Spacing="5"
|
||||||
@ -514,6 +514,8 @@
|
|||||||
UseColorWheel="False"
|
UseColorWheel="False"
|
||||||
ShowAcceptDismissButtons="False"
|
ShowAcceptDismissButtons="False"
|
||||||
IsAlphaEnabled="False"
|
IsAlphaEnabled="False"
|
||||||
|
AttachedToVisualTree="ColorPickerButton_OnAttachedToVisualTree"
|
||||||
|
ColorChanged="ColorPickerButton_OnColorChanged"
|
||||||
Color="{Binding Config.LedColor, Mode=TwoWay}">
|
Color="{Binding Config.LedColor, Mode=TwoWay}">
|
||||||
</ui:ColorPickerButton>
|
</ui:ColorPickerButton>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
@ -4,6 +4,7 @@ using Avalonia.Controls.Primitives;
|
|||||||
using Avalonia.Input;
|
using Avalonia.Input;
|
||||||
using Avalonia.Interactivity;
|
using Avalonia.Interactivity;
|
||||||
using Avalonia.LogicalTree;
|
using Avalonia.LogicalTree;
|
||||||
|
using FluentAvalonia.UI.Controls;
|
||||||
using Ryujinx.Ava.UI.Helpers;
|
using Ryujinx.Ava.UI.Helpers;
|
||||||
using Ryujinx.Ava.UI.ViewModels.Input;
|
using Ryujinx.Ava.UI.ViewModels.Input;
|
||||||
using Ryujinx.Common.Configuration.Hid.Controller;
|
using Ryujinx.Common.Configuration.Hid.Controller;
|
||||||
@ -234,5 +235,22 @@ namespace Ryujinx.Ava.UI.Views.Input
|
|||||||
_currentAssigner?.Cancel();
|
_currentAssigner?.Cancel();
|
||||||
_currentAssigner = null;
|
_currentAssigner = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ColorPickerButton_OnColorChanged(ColorPickerButton sender, ColorButtonColorChangedEventArgs args)
|
||||||
|
{
|
||||||
|
if (!args.NewColor.HasValue) return;
|
||||||
|
if (DataContext is not ControllerInputViewModel cVm) return;
|
||||||
|
if (!cVm.Config.EnableLedChanging) return;
|
||||||
|
|
||||||
|
cVm.ParentModel.SelectedGamepad.SetLed(args.NewColor.Value.ToUInt32());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ColorPickerButton_OnAttachedToVisualTree(object sender, VisualTreeAttachmentEventArgs e)
|
||||||
|
{
|
||||||
|
if (DataContext is not ControllerInputViewModel cVm) return;
|
||||||
|
if (!cVm.Config.EnableLedChanging) return;
|
||||||
|
|
||||||
|
cVm.ParentModel.SelectedGamepad.SetLed(cVm.Config.LedColor.ToUInt32());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user