mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2025-08-30 07:25:05 +00:00
Some checks are pending
Canary release job / Create tag (push) Waiting to run
Canary release job / Release for linux-arm64 (push) Waiting to run
Canary release job / Release for linux-x64 (push) Waiting to run
Canary release job / Release for win-x64 (push) Waiting to run
Canary release job / Release MacOS universal (push) Waiting to run
This allows the user to change the controller LED while using Ryujinx. Useful for PS4 and PS5 controllers as an example. You can also use a spectrum-cycling Rainbow color option, or turn the LED off for DualSense controllers. --------- Co-authored-by: Evan Husted <greem@greemdev.net>
96 lines
2.3 KiB
C#
96 lines
2.3 KiB
C#
using Ryujinx.Common.Configuration.Hid;
|
|
using Ryujinx.Common.Logging;
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Numerics;
|
|
|
|
namespace Ryujinx.Input.SDL2
|
|
{
|
|
public class SDL2Mouse : IMouse
|
|
{
|
|
private SDL2MouseDriver _driver;
|
|
|
|
public GamepadFeaturesFlag Features => throw new NotImplementedException();
|
|
|
|
public string Id => "0";
|
|
|
|
public string Name => "SDL2Mouse";
|
|
|
|
public bool IsConnected => true;
|
|
|
|
public bool[] Buttons => _driver.PressedButtons;
|
|
|
|
Size IMouse.ClientSize => _driver.GetClientSize();
|
|
|
|
public SDL2Mouse(SDL2MouseDriver driver)
|
|
{
|
|
_driver = driver;
|
|
}
|
|
|
|
public Vector2 GetPosition()
|
|
{
|
|
return _driver.CurrentPosition;
|
|
}
|
|
|
|
public Vector2 GetScroll()
|
|
{
|
|
return _driver.Scroll;
|
|
}
|
|
|
|
public GamepadStateSnapshot GetMappedStateSnapshot()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public Vector3 GetMotionData(MotionInputId inputId)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public GamepadStateSnapshot GetStateSnapshot()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public (float, float) GetStick(StickInputId inputId)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public bool IsButtonPressed(MouseButton button)
|
|
{
|
|
return _driver.IsButtonPressed(button);
|
|
}
|
|
|
|
public bool IsPressed(GamepadButtonInputId inputId)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Rumble(float lowFrequency, float highFrequency, uint durationMs)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void SetConfiguration(InputConfig configuration)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void SetLed(uint packedRgb)
|
|
{
|
|
Logger.Info?.Print(LogClass.UI, "SetLed called on an SDL2Mouse");
|
|
}
|
|
|
|
public void SetTriggerThreshold(float triggerThreshold)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
GC.SuppressFinalize(this);
|
|
_driver = null;
|
|
}
|
|
}
|
|
}
|