mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-13 10:08:31 +00:00
Compare commits
11 Commits
df73551497
...
6e313ea6a1
| Author | SHA1 | Date | |
|---|---|---|---|
| 6e313ea6a1 | |||
| bb3b74b919 | |||
| cc652a08a6 | |||
| d66e4d87d9 | |||
| 631c8d2047 | |||
| db2f16d371 | |||
|
|
b67294eb3c | ||
|
|
914bd8c0a1 | ||
|
|
df2f5620ee | ||
|
|
3dc4f45f66 | ||
|
|
38840ef6f4 |
@ -60,6 +60,7 @@ public class AsusDeviceProvider : AbstractRGBDeviceProvider
|
||||
for (int i = 0; i < _devices.Count; i++)
|
||||
{
|
||||
IAuraSyncDevice device = _devices[i];
|
||||
|
||||
yield return (AsusDeviceType)device.Type switch
|
||||
{
|
||||
AsusDeviceType.MB_RGB => new AsusMainboardRGBDevice(new AsusRGBDeviceInfo(RGBDeviceType.Mainboard, device, WMIHelper.GetMainboardInfo()?.model ?? device.Name), GetUpdateTrigger()),
|
||||
@ -71,7 +72,8 @@ public class AsusDeviceProvider : AbstractRGBDeviceProvider
|
||||
AsusDeviceType.NB_KB_RGB => new AsusKeyboardRGBDevice(new AsusKeyboardRGBDeviceInfo(device), LedMappings.KeyboardMapping, GetUpdateTrigger()),
|
||||
AsusDeviceType.NB_KB_4ZONE_RGB => new AsusKeyboardRGBDevice(new AsusKeyboardRGBDeviceInfo(device), null, GetUpdateTrigger()),
|
||||
AsusDeviceType.MOUSE_RGB => new AsusMouseRGBDevice(new AsusRGBDeviceInfo(RGBDeviceType.Mouse, device), GetUpdateTrigger()),
|
||||
_ => new AsusUnspecifiedRGBDevice(new AsusRGBDeviceInfo(RGBDeviceType.Unknown, device), LedId.Custom1, GetUpdateTrigger())
|
||||
AsusDeviceType.TERMINAL_RGB => new AsusUnspecifiedRGBDevice(new AsusRGBDeviceInfo(RGBDeviceType.LedController, device), LedId.Custom1, GetUpdateTrigger()),
|
||||
_ => new AsusUnspecifiedRGBDevice(new AsusRGBDeviceInfo(RGBDeviceType.Unknown, device), LedId.Unknown1, GetUpdateTrigger())
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,5 +20,6 @@ internal enum AsusDeviceType : uint
|
||||
NB_KB_4ZONE_RGB = 0x81001,
|
||||
MOUSE_RGB = 0x90000,
|
||||
CHASSIS_RGB = 0xB0000,
|
||||
PROJECTOR_RGB = 0xC0000
|
||||
PROJECTOR_RGB = 0xC0000,
|
||||
TERMINAL_RGB = 0xE0000
|
||||
}
|
||||
@ -45,6 +45,11 @@ public class CorsairDeviceProvider : AbstractRGBDeviceProvider
|
||||
/// </summary>
|
||||
public static bool ExclusiveAccess { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the details for the current SDK-session.
|
||||
/// </summary>
|
||||
public CorsairSessionDetails SessionDetails { get; private set; } = new();
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
@ -81,12 +86,17 @@ public class CorsairDeviceProvider : AbstractRGBDeviceProvider
|
||||
_CUESDK.SessionStateChanged += OnSessionStateChanged;
|
||||
|
||||
CorsairError errorCode = _CUESDK.CorsairConnect();
|
||||
|
||||
if (errorCode != CorsairError.Success)
|
||||
Throw(new RGBDeviceException($"Failed to initialized Corsair-SDK. (ErrorCode: {errorCode})"));
|
||||
|
||||
if (!waitEvent.Wait(ConnectionTimeout))
|
||||
Throw(new RGBDeviceException($"Failed to initialized Corsair-SDK. (Timeout - Current connection state: {_CUESDK.SesionState})"));
|
||||
|
||||
_CUESDK.CorsairGetSessionDetails(out _CorsairSessionDetails? details);
|
||||
if (errorCode != CorsairError.Success)
|
||||
Throw(new RGBDeviceException($"Failed to get session details. (ErrorCode: {errorCode})"));
|
||||
|
||||
SessionDetails = new CorsairSessionDetails(details!);
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -119,8 +129,7 @@ public class CorsairDeviceProvider : AbstractRGBDeviceProvider
|
||||
Throw(new RGBDeviceException($"Failed to take control of device '{device.id}'. (ErrorCode: {error})"));
|
||||
|
||||
CorsairDeviceUpdateQueue updateQueue = new(GetUpdateTrigger(), device);
|
||||
|
||||
Console.WriteLine("Loading " + device.model);
|
||||
|
||||
int channelLedCount = 0;
|
||||
for (int i = 0; i < device.channelCount; i++)
|
||||
{
|
||||
|
||||
37
RGB.NET.Devices.Corsair/Generic/CorsairProtocolDetails.cs
Normal file
37
RGB.NET.Devices.Corsair/Generic/CorsairProtocolDetails.cs
Normal file
@ -0,0 +1,37 @@
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
|
||||
using RGB.NET.Devices.Corsair.Native;
|
||||
|
||||
namespace RGB.NET.Devices.Corsair;
|
||||
|
||||
/// <summary>
|
||||
/// Represents version information for the Corsair-SDK
|
||||
/// </summary>
|
||||
public class CorsairSessionDetails
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public string ClientVersion { get; }
|
||||
public string ServerVersion { get; }
|
||||
public string ServerHostVersion { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CorsairSessionDetails()
|
||||
{
|
||||
ClientVersion = string.Empty;
|
||||
ServerVersion = string.Empty;
|
||||
ServerHostVersion = string.Empty;
|
||||
}
|
||||
|
||||
internal CorsairSessionDetails(_CorsairSessionDetails nativeDetails)
|
||||
{
|
||||
this.ClientVersion = nativeDetails.clientVersion.ToString();
|
||||
this.ServerVersion = nativeDetails.serverVersion.ToString();
|
||||
this.ServerHostVersion = nativeDetails.serverHostVersion.ToString();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@ -73,6 +73,7 @@ public class LogitechDeviceProvider : AbstractRGBDeviceProvider
|
||||
{
|
||||
{ 0x407C, RGBDeviceType.Keyboard, "G915", LedMappings.PerKey, 0 },
|
||||
{ 0x408E, RGBDeviceType.Keyboard, "G915 TKL", LedMappings.PerKey, 0 },
|
||||
{ 0xC232, RGBDeviceType.Keyboard, "G915 TKL", LedMappings.PerKey, 0 },
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user