mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2026-11-10 20:46:24 +00:00
Changed all namespaces to file-scope
This commit is contained in:
1 parent
a0c6ccebea
commit
30624035f1
353 files changed
+35775
-36129
No files matched your search
@@ -1,10 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model;
|
||||
|
||||
internal class CoreProps
|
||||
{
|
||||
internal class CoreProps
|
||||
{
|
||||
[JsonPropertyName("address")]
|
||||
public string? Address { get; set; }
|
||||
}
|
||||
}
|
||||
[JsonPropertyName("address")]
|
||||
public string? Address { get; set; }
|
||||
}
|
||||
@@ -1,35 +1,34 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model;
|
||||
|
||||
internal class Event
|
||||
{
|
||||
internal class Event
|
||||
#region Properties & Fields
|
||||
|
||||
[JsonPropertyName("game")]
|
||||
public string? Game { get; set; }
|
||||
|
||||
[JsonPropertyName("event")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
// ReSharper disable once CollectionNeverQueried.Global
|
||||
[JsonPropertyName("data")]
|
||||
public Dictionary<string, object> Data { get; } = new();
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Event()
|
||||
{ }
|
||||
|
||||
public Event(Game game, string name)
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
[JsonPropertyName("game")]
|
||||
public string? Game { get; set; }
|
||||
|
||||
[JsonPropertyName("event")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
// ReSharper disable once CollectionNeverQueried.Global
|
||||
[JsonPropertyName("data")]
|
||||
public Dictionary<string, object> Data { get; } = new();
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Event()
|
||||
{ }
|
||||
|
||||
public Event(Game game, string name)
|
||||
{
|
||||
this.Name = name;
|
||||
Game = game.Name;
|
||||
}
|
||||
|
||||
#endregion
|
||||
this.Name = name;
|
||||
Game = game.Name;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,30 +1,29 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model;
|
||||
|
||||
internal class Game
|
||||
{
|
||||
internal class Game
|
||||
#region Properties & Fields
|
||||
|
||||
[JsonPropertyName("game")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
[JsonPropertyName("game_display_name")]
|
||||
public string? DisplayName { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Game()
|
||||
{ }
|
||||
|
||||
public Game(string name, string displayName)
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
[JsonPropertyName("game")]
|
||||
public string? Name { get; set; }
|
||||
|
||||
[JsonPropertyName("game_display_name")]
|
||||
public string? DisplayName { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public Game()
|
||||
{ }
|
||||
|
||||
public Game(string name, string displayName)
|
||||
{
|
||||
Name = name;
|
||||
DisplayName = displayName;
|
||||
}
|
||||
|
||||
#endregion
|
||||
Name = name;
|
||||
DisplayName = displayName;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,30 +1,29 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model
|
||||
namespace RGB.NET.Devices.SteelSeries.API.Model;
|
||||
|
||||
internal class GoLispHandler
|
||||
{
|
||||
internal class GoLispHandler
|
||||
#region Properties & Fields
|
||||
|
||||
[JsonPropertyName("game")]
|
||||
public string? Game { get; set; }
|
||||
|
||||
[JsonPropertyName("golisp")]
|
||||
public string? Handler { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public GoLispHandler()
|
||||
{ }
|
||||
|
||||
public GoLispHandler(Game game, string handler)
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
[JsonPropertyName("game")]
|
||||
public string? Game { get; set; }
|
||||
|
||||
[JsonPropertyName("golisp")]
|
||||
public string? Handler { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public GoLispHandler()
|
||||
{ }
|
||||
|
||||
public GoLispHandler(Game game, string handler)
|
||||
{
|
||||
this.Handler = handler;
|
||||
Game = game.Name;
|
||||
}
|
||||
|
||||
#endregion
|
||||
this.Handler = handler;
|
||||
Game = game.Name;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -8,16 +8,16 @@ using System.Text;
|
||||
using System.Text.Json;
|
||||
using RGB.NET.Devices.SteelSeries.API.Model;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries.API
|
||||
{
|
||||
internal static class SteelSeriesSDK
|
||||
{
|
||||
#region Constants
|
||||
namespace RGB.NET.Devices.SteelSeries.API;
|
||||
|
||||
private const string GAME_NAME = "RGBNET";
|
||||
private const string GAME_DISPLAYNAME = "RGB.NET";
|
||||
private const string EVENT_NAME = "UPDATELEDS";
|
||||
private static readonly string HANDLER = $@"(define (getZone x)
|
||||
internal static class SteelSeriesSDK
|
||||
{
|
||||
#region Constants
|
||||
|
||||
private const string GAME_NAME = "RGBNET";
|
||||
private const string GAME_DISPLAYNAME = "RGB.NET";
|
||||
private const string EVENT_NAME = "UPDATELEDS";
|
||||
private static readonly string HANDLER = $@"(define (getZone x)
|
||||
(case x
|
||||
{string.Join(Environment.NewLine, Enum.GetValues(typeof(SteelSeriesLedId))
|
||||
.Cast<SteelSeriesLedId>()
|
||||
@@ -48,106 +48,105 @@ namespace RGB.NET.Devices.SteelSeries.API
|
||||
|
||||
(add-custom-zone '(""num-5"" 93))"; //HACK DarthAffe 07.10.2021: Custom zone to workaround a SDK-issue (https://github.com/SteelSeries/gamesense-sdk/issues/85)
|
||||
|
||||
private const string CORE_PROPS_WINDOWS = "%PROGRAMDATA%/SteelSeries/SteelSeries Engine 3/coreProps.json";
|
||||
private const string CORE_PROPS_OSX = "/Library/Application Support/SteelSeries Engine 3/coreProps.json";
|
||||
private const string CORE_PROPS_WINDOWS = "%PROGRAMDATA%/SteelSeries/SteelSeries Engine 3/coreProps.json";
|
||||
private const string CORE_PROPS_OSX = "/Library/Application Support/SteelSeries Engine 3/coreProps.json";
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Properties & Fields
|
||||
// ReSharper disable InconsistentNaming
|
||||
#region Properties & Fields
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
private static readonly HttpClient _client = new();
|
||||
private static readonly Game _game = new(GAME_NAME, GAME_DISPLAYNAME);
|
||||
private static readonly Event _event = new(_game, EVENT_NAME);
|
||||
private static string? _baseUrl;
|
||||
private static readonly HttpClient _client = new();
|
||||
private static readonly Game _game = new(GAME_NAME, GAME_DISPLAYNAME);
|
||||
private static readonly Event _event = new(_game, EVENT_NAME);
|
||||
private static string? _baseUrl;
|
||||
|
||||
internal static bool IsInitialized => !string.IsNullOrWhiteSpace(_baseUrl);
|
||||
internal static bool IsInitialized => !string.IsNullOrWhiteSpace(_baseUrl);
|
||||
|
||||
// ReSharper restore InconsistentNaming
|
||||
#endregion
|
||||
// ReSharper restore InconsistentNaming
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
#region Methods
|
||||
|
||||
internal static bool Initialize()
|
||||
internal static bool Initialize()
|
||||
{
|
||||
try
|
||||
{
|
||||
try
|
||||
string corePropsPath = GetCorePropsPath();
|
||||
if (!string.IsNullOrWhiteSpace(corePropsPath) && File.Exists(corePropsPath))
|
||||
{
|
||||
string corePropsPath = GetCorePropsPath();
|
||||
if (!string.IsNullOrWhiteSpace(corePropsPath) && File.Exists(corePropsPath))
|
||||
CoreProps? coreProps = JsonSerializer.Deserialize<CoreProps>(File.ReadAllText(corePropsPath));
|
||||
_baseUrl = coreProps?.Address;
|
||||
if (_baseUrl != null)
|
||||
{
|
||||
CoreProps? coreProps = JsonSerializer.Deserialize<CoreProps>(File.ReadAllText(corePropsPath));
|
||||
_baseUrl = coreProps?.Address;
|
||||
if (_baseUrl != null)
|
||||
{
|
||||
if (!_baseUrl.StartsWith("http://", StringComparison.Ordinal))
|
||||
_baseUrl = "http://" + _baseUrl;
|
||||
if (!_baseUrl.StartsWith("http://", StringComparison.Ordinal))
|
||||
_baseUrl = "http://" + _baseUrl;
|
||||
|
||||
RegisterGame(_game);
|
||||
RegisterGoLispHandler(new GoLispHandler(_game, HANDLER));
|
||||
}
|
||||
RegisterGame(_game);
|
||||
RegisterGoLispHandler(new GoLispHandler(_game, HANDLER));
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
_baseUrl = null;
|
||||
}
|
||||
return IsInitialized;
|
||||
}
|
||||
|
||||
internal static void UpdateLeds(string device, IList<(string zone, int[] color)> data)
|
||||
catch
|
||||
{
|
||||
_event.Data.Clear();
|
||||
_event.Data.Add("value", device);
|
||||
_event.Data.Add("colors", data.Select(x => x.color).ToList());
|
||||
_event.Data.Add("zones", data.Select(x => x.zone).ToList());
|
||||
|
||||
TriggerEvent(_event);
|
||||
_baseUrl = null;
|
||||
}
|
||||
return IsInitialized;
|
||||
}
|
||||
|
||||
internal static void SendHeartbeat() => SendHeartbeat(_game);
|
||||
internal static void UpdateLeds(string device, IList<(string zone, int[] color)> data)
|
||||
{
|
||||
_event.Data.Clear();
|
||||
_event.Data.Add("value", device);
|
||||
_event.Data.Add("colors", data.Select(x => x.color).ToList());
|
||||
_event.Data.Add("zones", data.Select(x => x.zone).ToList());
|
||||
|
||||
internal static void ResetLeds() => StopGame(_game);
|
||||
TriggerEvent(_event);
|
||||
}
|
||||
|
||||
internal static void Dispose()
|
||||
{
|
||||
if (IsInitialized)
|
||||
ResetLeds();
|
||||
internal static void SendHeartbeat() => SendHeartbeat(_game);
|
||||
|
||||
_client.Dispose();
|
||||
}
|
||||
internal static void ResetLeds() => StopGame(_game);
|
||||
|
||||
internal static void Dispose()
|
||||
{
|
||||
if (IsInitialized)
|
||||
ResetLeds();
|
||||
|
||||
_client.Dispose();
|
||||
}
|
||||
|
||||
#pragma warning disable IDE0051 // Remove unused private members
|
||||
// ReSharper disable UnusedMethodReturnValue.Local
|
||||
// ReSharper disable UnusedMember.Local
|
||||
private static string TriggerEvent(Event e) => PostJson("/game_event", e);
|
||||
private static string RegisterGoLispHandler(GoLispHandler handler) => PostJson("/load_golisp_handlers", handler);
|
||||
private static string RegisterEvent(Event e) => PostJson("/register_game_event", e);
|
||||
private static string UnregisterEvent(Event e) => PostJson("/remove_game_event", e);
|
||||
private static string RegisterGame(Game game) => PostJson("/game_metadata", game);
|
||||
private static string UnregisterGame(Game game) => PostJson("/remove_game", game);
|
||||
private static string StopGame(Game game) => PostJson("/stop_game", game);
|
||||
private static string SendHeartbeat(Game game) => PostJson("/game_heartbeat", game);
|
||||
// ReSharper restore UnusedMember.Local
|
||||
// ReSharper restore UnusedMethodReturnValue.Local
|
||||
// ReSharper disable UnusedMethodReturnValue.Local
|
||||
// ReSharper disable UnusedMember.Local
|
||||
private static string TriggerEvent(Event e) => PostJson("/game_event", e);
|
||||
private static string RegisterGoLispHandler(GoLispHandler handler) => PostJson("/load_golisp_handlers", handler);
|
||||
private static string RegisterEvent(Event e) => PostJson("/register_game_event", e);
|
||||
private static string UnregisterEvent(Event e) => PostJson("/remove_game_event", e);
|
||||
private static string RegisterGame(Game game) => PostJson("/game_metadata", game);
|
||||
private static string UnregisterGame(Game game) => PostJson("/remove_game", game);
|
||||
private static string StopGame(Game game) => PostJson("/stop_game", game);
|
||||
private static string SendHeartbeat(Game game) => PostJson("/game_heartbeat", game);
|
||||
// ReSharper restore UnusedMember.Local
|
||||
// ReSharper restore UnusedMethodReturnValue.Local
|
||||
#pragma warning restore IDE0051 // Remove unused private members
|
||||
|
||||
private static string PostJson(string urlSuffix, object o)
|
||||
{
|
||||
string payload = JsonSerializer.Serialize(o);
|
||||
return _client.PostAsync(_baseUrl + urlSuffix, new StringContent(payload, Encoding.UTF8, "application/json")).Result.Content.ReadAsStringAsync().Result;
|
||||
}
|
||||
|
||||
private static string GetCorePropsPath()
|
||||
{
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
return Environment.ExpandEnvironmentVariables(CORE_PROPS_WINDOWS);
|
||||
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
|
||||
return CORE_PROPS_OSX;
|
||||
|
||||
throw new InvalidOperationException("Unknown operating system.");
|
||||
}
|
||||
|
||||
#endregion
|
||||
private static string PostJson(string urlSuffix, object o)
|
||||
{
|
||||
string payload = JsonSerializer.Serialize(o);
|
||||
return _client.PostAsync(_baseUrl + urlSuffix, new StringContent(payload, Encoding.UTF8, "application/json")).Result.Content.ReadAsStringAsync().Result;
|
||||
}
|
||||
}
|
||||
|
||||
private static string GetCorePropsPath()
|
||||
{
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
return Environment.ExpandEnvironmentVariables(CORE_PROPS_WINDOWS);
|
||||
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
|
||||
return CORE_PROPS_OSX;
|
||||
|
||||
throw new InvalidOperationException("Unknown operating system.");
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,20 +1,19 @@
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
internal class APIName : System.Attribute
|
||||
{
|
||||
internal class APIName : System.Attribute
|
||||
#region Properties & Fields
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public APIName(string name)
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
public APIName(string name)
|
||||
{
|
||||
this.Name = name;
|
||||
}
|
||||
|
||||
#endregion
|
||||
this.Name = name;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -3,44 +3,43 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
internal static class SteelSeriesEnumExtension
|
||||
{
|
||||
internal static class SteelSeriesEnumExtension
|
||||
#region Properties & Fields
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
private static readonly Dictionary<SteelSeriesDeviceType, string?> _deviceTypeNames = new();
|
||||
private static readonly Dictionary<SteelSeriesLedId, string?> _ledIdNames = new();
|
||||
|
||||
// ReSharper restore InconsistentNaming
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
internal static string? GetAPIName(this SteelSeriesDeviceType deviceType)
|
||||
{
|
||||
#region Properties & Fields
|
||||
// ReSharper disable InconsistentNaming
|
||||
if (!_deviceTypeNames.TryGetValue(deviceType, out string? apiName))
|
||||
_deviceTypeNames.Add(deviceType, apiName = GetAPIName(typeof(SteelSeriesDeviceType), deviceType));
|
||||
|
||||
private static readonly Dictionary<SteelSeriesDeviceType, string?> _deviceTypeNames = new();
|
||||
private static readonly Dictionary<SteelSeriesLedId, string?> _ledIdNames = new();
|
||||
|
||||
// ReSharper restore InconsistentNaming
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
internal static string? GetAPIName(this SteelSeriesDeviceType deviceType)
|
||||
{
|
||||
if (!_deviceTypeNames.TryGetValue(deviceType, out string? apiName))
|
||||
_deviceTypeNames.Add(deviceType, apiName = GetAPIName(typeof(SteelSeriesDeviceType), deviceType));
|
||||
|
||||
return apiName;
|
||||
}
|
||||
|
||||
internal static string? GetAPIName(this SteelSeriesLedId ledId)
|
||||
{
|
||||
if (!_ledIdNames.TryGetValue(ledId, out string? apiName))
|
||||
_ledIdNames.Add(ledId, apiName = GetAPIName(typeof(SteelSeriesLedId), ledId));
|
||||
|
||||
return apiName;
|
||||
}
|
||||
|
||||
private static string? GetAPIName(Type type, Enum value)
|
||||
{
|
||||
MemberInfo[] memInfo = type.GetMember(value.ToString());
|
||||
if (memInfo.Length == 0) return null;
|
||||
return (memInfo.FirstOrDefault()?.GetCustomAttributes(typeof(APIName), false).FirstOrDefault() as APIName)?.Name;
|
||||
}
|
||||
|
||||
#endregion
|
||||
return apiName;
|
||||
}
|
||||
}
|
||||
|
||||
internal static string? GetAPIName(this SteelSeriesLedId ledId)
|
||||
{
|
||||
if (!_ledIdNames.TryGetValue(ledId, out string? apiName))
|
||||
_ledIdNames.Add(ledId, apiName = GetAPIName(typeof(SteelSeriesLedId), ledId));
|
||||
|
||||
return apiName;
|
||||
}
|
||||
|
||||
private static string? GetAPIName(Type type, Enum value)
|
||||
{
|
||||
MemberInfo[] memInfo = type.GetMember(value.ToString());
|
||||
if (memInfo.Length == 0) return null;
|
||||
return (memInfo.FirstOrDefault()?.GetCustomAttributes(typeof(APIName), false).FirstOrDefault() as APIName)?.Name;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,47 +1,46 @@
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
// DarthAffe 09.07.2020: Review the LISP-Handler in SteelSeriesSDK after adding new device-types! They need to be initialized.
|
||||
public enum SteelSeriesDeviceType
|
||||
{
|
||||
// DarthAffe 09.07.2020: Review the LISP-Handler in SteelSeriesSDK after adding new device-types! They need to be initialized.
|
||||
public enum SteelSeriesDeviceType
|
||||
{
|
||||
[APIName("rgb-per-key-zones")]
|
||||
PerKey,
|
||||
[APIName("rgb-per-key-zones")]
|
||||
PerKey,
|
||||
|
||||
[APIName("rgb-1-zone")]
|
||||
OneZone,
|
||||
[APIName("rgb-1-zone")]
|
||||
OneZone,
|
||||
|
||||
[APIName("rgb-2-zone")]
|
||||
TwoZone,
|
||||
[APIName("rgb-2-zone")]
|
||||
TwoZone,
|
||||
|
||||
[APIName("rgb-3-zone")]
|
||||
ThreeZone,
|
||||
[APIName("rgb-3-zone")]
|
||||
ThreeZone,
|
||||
|
||||
[APIName("rgb-4-zone")]
|
||||
FourZone,
|
||||
[APIName("rgb-4-zone")]
|
||||
FourZone,
|
||||
|
||||
[APIName("rgb-5-zone")]
|
||||
FiveZone,
|
||||
[APIName("rgb-5-zone")]
|
||||
FiveZone,
|
||||
|
||||
[APIName("rgb-6-zone")]
|
||||
SixZone,
|
||||
[APIName("rgb-6-zone")]
|
||||
SixZone,
|
||||
|
||||
[APIName("rgb-7-zone")]
|
||||
SevenZone,
|
||||
[APIName("rgb-7-zone")]
|
||||
SevenZone,
|
||||
|
||||
[APIName("rgb-8-zone")]
|
||||
EightZone,
|
||||
[APIName("rgb-8-zone")]
|
||||
EightZone,
|
||||
|
||||
[APIName("rgb-12-zone")]
|
||||
TwelveZone,
|
||||
[APIName("rgb-12-zone")]
|
||||
TwelveZone,
|
||||
|
||||
[APIName("rgb-17-zone")]
|
||||
SeventeenZone,
|
||||
[APIName("rgb-17-zone")]
|
||||
SeventeenZone,
|
||||
|
||||
[APIName("rgb-24-zone")]
|
||||
TwentyfourZone,
|
||||
[APIName("rgb-24-zone")]
|
||||
TwentyfourZone,
|
||||
|
||||
[APIName("rgb-103-zone")]
|
||||
OneHundredAndThreeZone
|
||||
}
|
||||
}
|
||||
[APIName("rgb-103-zone")]
|
||||
OneHundredAndThreeZone
|
||||
}
|
||||
@@ -1,445 +1,444 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains a list of Steel Series LED IDs
|
||||
/// </summary>
|
||||
public enum SteelSeriesLedId
|
||||
{
|
||||
[APIName("one")]
|
||||
ZoneOne,
|
||||
[APIName("two")]
|
||||
ZoneTwo,
|
||||
[APIName("three")]
|
||||
ZoneThree,
|
||||
[APIName("four")]
|
||||
ZoneFour,
|
||||
[APIName("five")]
|
||||
ZoneFive,
|
||||
[APIName("six")]
|
||||
ZoneSix,
|
||||
[APIName("seven")]
|
||||
ZoneSeven,
|
||||
[APIName("eight")]
|
||||
ZoneEight,
|
||||
[APIName("nine")]
|
||||
ZoneNine,
|
||||
[APIName("ten")]
|
||||
ZoneTen,
|
||||
[APIName("eleven")]
|
||||
ZoneEleven,
|
||||
[APIName("twelve")]
|
||||
ZoneTwelve,
|
||||
[APIName("thirteen")]
|
||||
ZoneThirteen,
|
||||
[APIName("fourteen")]
|
||||
ZoneFourteen,
|
||||
[APIName("fifteen")]
|
||||
ZoneFifteen,
|
||||
[APIName("sixteen")]
|
||||
ZoneSixteen,
|
||||
[APIName("seventeen")]
|
||||
ZoneSeventeen,
|
||||
[APIName("eighteen")]
|
||||
ZoneEighteen,
|
||||
[APIName("nineteen")]
|
||||
ZoneNineteen,
|
||||
[APIName("twenty")]
|
||||
ZoneTwenty,
|
||||
[APIName("twenty-one")]
|
||||
ZoneTwentyOne,
|
||||
[APIName("twenty-two")]
|
||||
ZoneTwentyTwo,
|
||||
[APIName("twenty-three")]
|
||||
ZoneTwentyThree,
|
||||
[APIName("twenty-four")]
|
||||
ZoneTwentyFour,
|
||||
[APIName("twenty-five")]
|
||||
ZoneTwentyFive,
|
||||
[APIName("twenty-six")]
|
||||
ZoneTwentySix,
|
||||
[APIName("twenty-seven")]
|
||||
ZoneTwentySeven,
|
||||
[APIName("twenty-eight")]
|
||||
ZoneTwentyEight,
|
||||
[APIName("twenty-nine")]
|
||||
ZoneTwentyNine,
|
||||
[APIName("thirty")]
|
||||
ZoneThirty,
|
||||
[APIName("thirty-one")]
|
||||
ZoneThirtyOne,
|
||||
[APIName("thirty-two")]
|
||||
ZoneThirtyTwo,
|
||||
[APIName("thirty-three")]
|
||||
ZoneThirtyThree,
|
||||
[APIName("thirty-four")]
|
||||
ZoneThirtyFour,
|
||||
[APIName("thirty-five")]
|
||||
ZoneThirtyFive,
|
||||
[APIName("thirty-six")]
|
||||
ZoneThirtySix,
|
||||
[APIName("thirty-seven")]
|
||||
ZoneThirtySeven,
|
||||
[APIName("thirty-eight")]
|
||||
ZoneThirtyEight,
|
||||
[APIName("thirty-nine")]
|
||||
ZoneThirtyNine,
|
||||
[APIName("forty")]
|
||||
ZoneForty,
|
||||
[APIName("forty-one")]
|
||||
ZoneFortyOne,
|
||||
[APIName("forty-two")]
|
||||
ZoneFortyTwo,
|
||||
[APIName("forty-three")]
|
||||
ZoneFortyThree,
|
||||
[APIName("forty-four")]
|
||||
ZoneFortyFour,
|
||||
[APIName("forty-five")]
|
||||
ZoneFortyFive,
|
||||
[APIName("forty-six")]
|
||||
ZoneFortySix,
|
||||
[APIName("forty-seven")]
|
||||
ZoneFortySeven,
|
||||
[APIName("forty-eight")]
|
||||
ZoneFortyEight,
|
||||
[APIName("forty-nine")]
|
||||
ZoneFortyNine,
|
||||
[APIName("fifty")]
|
||||
ZoneFifty,
|
||||
[APIName("fifty-one")]
|
||||
ZoneFiftyOne,
|
||||
[APIName("fifty-two")]
|
||||
ZoneFiftyTwo,
|
||||
[APIName("fifty-three")]
|
||||
ZoneFiftyThree,
|
||||
[APIName("fifty-four")]
|
||||
ZoneFiftyFour,
|
||||
[APIName("fifty-five")]
|
||||
ZoneFiftyFive,
|
||||
[APIName("fifty-six")]
|
||||
ZoneFiftySix,
|
||||
[APIName("fifty-seven")]
|
||||
ZoneFiftySeven,
|
||||
[APIName("fifty-eight")]
|
||||
ZoneFiftyEight,
|
||||
[APIName("fifty-nine")]
|
||||
ZoneFiftyNine,
|
||||
[APIName("sixty")]
|
||||
ZoneSixty,
|
||||
[APIName("sixty-one")]
|
||||
ZoneSixtyOne,
|
||||
[APIName("sixty-two")]
|
||||
ZoneSixtyTwo,
|
||||
[APIName("sixty-three")]
|
||||
ZoneSixtyThree,
|
||||
[APIName("sixty-four")]
|
||||
ZoneSixtyFour,
|
||||
[APIName("sixty-five")]
|
||||
ZoneSixtyFive,
|
||||
[APIName("sixty-six")]
|
||||
ZoneSixtySix,
|
||||
[APIName("sixty-seven")]
|
||||
ZoneSixtySeven,
|
||||
[APIName("sixty-eight")]
|
||||
ZoneSixtyEight,
|
||||
[APIName("sixty-nine")]
|
||||
ZoneSixtyNine,
|
||||
[APIName("seventy")]
|
||||
ZoneSeventy,
|
||||
[APIName("seventy-one")]
|
||||
ZoneSeventyOne,
|
||||
[APIName("seventy-two")]
|
||||
ZoneSeventyTwo,
|
||||
[APIName("seventy-three")]
|
||||
ZoneSeventyThree,
|
||||
[APIName("seventy-four")]
|
||||
ZoneSeventyFour,
|
||||
[APIName("seventy-five")]
|
||||
ZoneSeventyFive,
|
||||
[APIName("seventy-six")]
|
||||
ZoneSeventySix,
|
||||
[APIName("seventy-seven")]
|
||||
ZoneSeventySeven,
|
||||
[APIName("seventy-eight")]
|
||||
ZoneSeventyEight,
|
||||
[APIName("seventy-nine")]
|
||||
ZoneSeventyNine,
|
||||
[APIName("eighty")]
|
||||
ZoneEighty,
|
||||
[APIName("eighty-one")]
|
||||
ZoneEightyOne,
|
||||
[APIName("eighty-two")]
|
||||
ZoneEightyTwo,
|
||||
[APIName("eighty-three")]
|
||||
ZoneEightyThree,
|
||||
[APIName("eighty-four")]
|
||||
ZoneEightyFour,
|
||||
[APIName("eighty-five")]
|
||||
ZoneEightyFive,
|
||||
[APIName("eighty-six")]
|
||||
ZoneEightySix,
|
||||
[APIName("eighty-seven")]
|
||||
ZoneEightySeven,
|
||||
[APIName("eighty-eight")]
|
||||
ZoneEightyEight,
|
||||
[APIName("eighty-nine")]
|
||||
ZoneEightyNine,
|
||||
[APIName("ninety")]
|
||||
ZoneNinety,
|
||||
[APIName("ninety-one")]
|
||||
ZoneNinetyOne,
|
||||
[APIName("ninety-two")]
|
||||
ZoneNinetyTwo,
|
||||
[APIName("ninety-three")]
|
||||
ZoneNinetyThree,
|
||||
[APIName("ninety-four")]
|
||||
ZoneNinetyFour,
|
||||
[APIName("ninety-five")]
|
||||
ZoneNinetyFive,
|
||||
[APIName("ninety-six")]
|
||||
ZoneNinetySix,
|
||||
[APIName("ninety-seven")]
|
||||
ZoneNinetySeven,
|
||||
[APIName("ninety-eight")]
|
||||
ZoneNinetyEight,
|
||||
[APIName("ninety-nine")]
|
||||
ZoneNinetyNine,
|
||||
[APIName("one-hundred")]
|
||||
ZoneOneHundred,
|
||||
[APIName("one-hundred-one")]
|
||||
ZoneOneHundredOne,
|
||||
[APIName("one-hundred-two")]
|
||||
ZoneOneHundredTwo,
|
||||
[APIName("one-hundred-three")]
|
||||
ZoneOneHundredThree,
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
[APIName("logo")]
|
||||
Logo,
|
||||
[APIName("a")]
|
||||
A,
|
||||
[APIName("b")]
|
||||
B,
|
||||
[APIName("c")]
|
||||
C,
|
||||
[APIName("d")]
|
||||
D,
|
||||
[APIName("e")]
|
||||
E,
|
||||
[APIName("f")]
|
||||
F,
|
||||
[APIName("g")]
|
||||
G,
|
||||
[APIName("h")]
|
||||
H,
|
||||
[APIName("i")]
|
||||
I,
|
||||
[APIName("j")]
|
||||
J,
|
||||
[APIName("k")]
|
||||
K,
|
||||
[APIName("l")]
|
||||
L,
|
||||
[APIName("m")]
|
||||
M,
|
||||
[APIName("n")]
|
||||
N,
|
||||
[APIName("o")]
|
||||
O,
|
||||
[APIName("p")]
|
||||
P,
|
||||
[APIName("q")]
|
||||
Q,
|
||||
[APIName("r")]
|
||||
R,
|
||||
[APIName("s")]
|
||||
S,
|
||||
[APIName("t")]
|
||||
T,
|
||||
[APIName("u")]
|
||||
U,
|
||||
[APIName("v")]
|
||||
V,
|
||||
[APIName("w")]
|
||||
W,
|
||||
[APIName("x")]
|
||||
X,
|
||||
[APIName("y")]
|
||||
Y,
|
||||
[APIName("z")]
|
||||
Z,
|
||||
[APIName("keyboard-1")]
|
||||
Keyboard1,
|
||||
[APIName("keyboard-2")]
|
||||
Keyboard2,
|
||||
[APIName("keyboard-3")]
|
||||
Keyboard3,
|
||||
[APIName("keyboard-4")]
|
||||
Keyboard4,
|
||||
[APIName("keyboard-5")]
|
||||
Keyboard5,
|
||||
[APIName("keyboard-6")]
|
||||
Keyboard6,
|
||||
[APIName("keyboard-7")]
|
||||
Keyboard7,
|
||||
[APIName("keyboard-8")]
|
||||
Keyboard8,
|
||||
[APIName("keyboard-9")]
|
||||
Keyboard9,
|
||||
[APIName("keyboard-0")]
|
||||
Keyboard0,
|
||||
[APIName("return")]
|
||||
Return,
|
||||
[APIName("escape")]
|
||||
Escape,
|
||||
[APIName("backspace")]
|
||||
Backspace,
|
||||
[APIName("tab")]
|
||||
Tab,
|
||||
[APIName("spacebar")]
|
||||
Spacebar,
|
||||
[APIName("caps")]
|
||||
Caps,
|
||||
[APIName("dash")]
|
||||
Dash,
|
||||
[APIName("equal")]
|
||||
Equal,
|
||||
[APIName("l-bracket")]
|
||||
LBracket,
|
||||
[APIName("r-bracket")]
|
||||
RBracket,
|
||||
[APIName("backslash")]
|
||||
Backslash,
|
||||
[APIName("pound")]
|
||||
Pound,
|
||||
[APIName("semicolon")]
|
||||
Semicolon,
|
||||
[APIName("quote")]
|
||||
Quote,
|
||||
[APIName("backquote")]
|
||||
Backqoute,
|
||||
[APIName("comma")]
|
||||
Comma,
|
||||
[APIName("period")]
|
||||
Period,
|
||||
[APIName("slash")]
|
||||
Slash,
|
||||
[APIName("f1")]
|
||||
F1,
|
||||
[APIName("f2")]
|
||||
F2,
|
||||
[APIName("f3")]
|
||||
F3,
|
||||
[APIName("f4")]
|
||||
F4,
|
||||
[APIName("f5")]
|
||||
F5,
|
||||
[APIName("f6")]
|
||||
F6,
|
||||
[APIName("f7")]
|
||||
F7,
|
||||
[APIName("f8")]
|
||||
F8,
|
||||
[APIName("f9")]
|
||||
F9,
|
||||
[APIName("f10")]
|
||||
F10,
|
||||
[APIName("f11")]
|
||||
F11,
|
||||
[APIName("f12")]
|
||||
F12,
|
||||
[APIName("printscreen")]
|
||||
PrintScreen,
|
||||
[APIName("scrolllock")]
|
||||
ScrollLock,
|
||||
[APIName("pause")]
|
||||
Pause,
|
||||
[APIName("insert")]
|
||||
Insert,
|
||||
[APIName("home")]
|
||||
Home,
|
||||
[APIName("pageup")]
|
||||
PageUp,
|
||||
[APIName("delete")]
|
||||
Delete,
|
||||
[APIName("end")]
|
||||
End,
|
||||
[APIName("pagedown")]
|
||||
PageDown,
|
||||
[APIName("rightarrow")]
|
||||
RightArrow,
|
||||
[APIName("leftarrow")]
|
||||
LeftArrow,
|
||||
[APIName("downarrow")]
|
||||
DownArrow,
|
||||
[APIName("uparrow")]
|
||||
UpArrow,
|
||||
[APIName("keypad-num-lock")]
|
||||
KeypadNumLock,
|
||||
[APIName("keypad-divide")]
|
||||
KeypadDivide,
|
||||
[APIName("keypad-times")]
|
||||
KeypadTimes,
|
||||
[APIName("keypad-minus")]
|
||||
KeypadMinus,
|
||||
[APIName("keypad-plus")]
|
||||
KeypadPlus,
|
||||
[APIName("keypad-enter")]
|
||||
KeypadEnter,
|
||||
[APIName("keypad-period")]
|
||||
KeypadPeriod,
|
||||
[APIName("keypad-1")]
|
||||
Keypad1,
|
||||
[APIName("keypad-2")]
|
||||
Keypad2,
|
||||
[APIName("keypad-3")]
|
||||
Keypad3,
|
||||
[APIName("keypad-4")]
|
||||
Keypad4,
|
||||
[APIName("num-5")] //HACK DarthAffe 07.10.2021: Custom name to workaround a SDK-issue (https://github.com/SteelSeries/gamesense-sdk/issues/85) should normally be 'keypad-5'
|
||||
Keypad5,
|
||||
[APIName("keypad-6")]
|
||||
Keypad6,
|
||||
[APIName("keypad-7")]
|
||||
Keypad7,
|
||||
[APIName("keypad-8")]
|
||||
Keypad8,
|
||||
[APIName("keypad-9")]
|
||||
Keypad9,
|
||||
[APIName("keypad-0")]
|
||||
Keypad0,
|
||||
[APIName("l-ctrl")]
|
||||
LCtrl,
|
||||
[APIName("l-shift")]
|
||||
LShift,
|
||||
[APIName("l-alt")]
|
||||
LAlt,
|
||||
[APIName("l-win")]
|
||||
LWin,
|
||||
[APIName("r-ctrl")]
|
||||
RCtrl,
|
||||
[APIName("r-shift")]
|
||||
RShift,
|
||||
[APIName("r-alt")]
|
||||
RAlt,
|
||||
[APIName("r-win")]
|
||||
RWin,
|
||||
[APIName("ss-key")]
|
||||
SSKey,
|
||||
[APIName("win-menu")]
|
||||
WinMenu,
|
||||
[APIName("m0")]
|
||||
M0,
|
||||
[APIName("m1")]
|
||||
M1,
|
||||
[APIName("m2")]
|
||||
M2,
|
||||
[APIName("m3")]
|
||||
M3,
|
||||
[APIName("m4")]
|
||||
M4,
|
||||
[APIName("m5")]
|
||||
M5,
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Contains a list of Steel Series LED IDs
|
||||
/// </summary>
|
||||
public enum SteelSeriesLedId
|
||||
{
|
||||
[APIName("one")]
|
||||
ZoneOne,
|
||||
[APIName("two")]
|
||||
ZoneTwo,
|
||||
[APIName("three")]
|
||||
ZoneThree,
|
||||
[APIName("four")]
|
||||
ZoneFour,
|
||||
[APIName("five")]
|
||||
ZoneFive,
|
||||
[APIName("six")]
|
||||
ZoneSix,
|
||||
[APIName("seven")]
|
||||
ZoneSeven,
|
||||
[APIName("eight")]
|
||||
ZoneEight,
|
||||
[APIName("nine")]
|
||||
ZoneNine,
|
||||
[APIName("ten")]
|
||||
ZoneTen,
|
||||
[APIName("eleven")]
|
||||
ZoneEleven,
|
||||
[APIName("twelve")]
|
||||
ZoneTwelve,
|
||||
[APIName("thirteen")]
|
||||
ZoneThirteen,
|
||||
[APIName("fourteen")]
|
||||
ZoneFourteen,
|
||||
[APIName("fifteen")]
|
||||
ZoneFifteen,
|
||||
[APIName("sixteen")]
|
||||
ZoneSixteen,
|
||||
[APIName("seventeen")]
|
||||
ZoneSeventeen,
|
||||
[APIName("eighteen")]
|
||||
ZoneEighteen,
|
||||
[APIName("nineteen")]
|
||||
ZoneNineteen,
|
||||
[APIName("twenty")]
|
||||
ZoneTwenty,
|
||||
[APIName("twenty-one")]
|
||||
ZoneTwentyOne,
|
||||
[APIName("twenty-two")]
|
||||
ZoneTwentyTwo,
|
||||
[APIName("twenty-three")]
|
||||
ZoneTwentyThree,
|
||||
[APIName("twenty-four")]
|
||||
ZoneTwentyFour,
|
||||
[APIName("twenty-five")]
|
||||
ZoneTwentyFive,
|
||||
[APIName("twenty-six")]
|
||||
ZoneTwentySix,
|
||||
[APIName("twenty-seven")]
|
||||
ZoneTwentySeven,
|
||||
[APIName("twenty-eight")]
|
||||
ZoneTwentyEight,
|
||||
[APIName("twenty-nine")]
|
||||
ZoneTwentyNine,
|
||||
[APIName("thirty")]
|
||||
ZoneThirty,
|
||||
[APIName("thirty-one")]
|
||||
ZoneThirtyOne,
|
||||
[APIName("thirty-two")]
|
||||
ZoneThirtyTwo,
|
||||
[APIName("thirty-three")]
|
||||
ZoneThirtyThree,
|
||||
[APIName("thirty-four")]
|
||||
ZoneThirtyFour,
|
||||
[APIName("thirty-five")]
|
||||
ZoneThirtyFive,
|
||||
[APIName("thirty-six")]
|
||||
ZoneThirtySix,
|
||||
[APIName("thirty-seven")]
|
||||
ZoneThirtySeven,
|
||||
[APIName("thirty-eight")]
|
||||
ZoneThirtyEight,
|
||||
[APIName("thirty-nine")]
|
||||
ZoneThirtyNine,
|
||||
[APIName("forty")]
|
||||
ZoneForty,
|
||||
[APIName("forty-one")]
|
||||
ZoneFortyOne,
|
||||
[APIName("forty-two")]
|
||||
ZoneFortyTwo,
|
||||
[APIName("forty-three")]
|
||||
ZoneFortyThree,
|
||||
[APIName("forty-four")]
|
||||
ZoneFortyFour,
|
||||
[APIName("forty-five")]
|
||||
ZoneFortyFive,
|
||||
[APIName("forty-six")]
|
||||
ZoneFortySix,
|
||||
[APIName("forty-seven")]
|
||||
ZoneFortySeven,
|
||||
[APIName("forty-eight")]
|
||||
ZoneFortyEight,
|
||||
[APIName("forty-nine")]
|
||||
ZoneFortyNine,
|
||||
[APIName("fifty")]
|
||||
ZoneFifty,
|
||||
[APIName("fifty-one")]
|
||||
ZoneFiftyOne,
|
||||
[APIName("fifty-two")]
|
||||
ZoneFiftyTwo,
|
||||
[APIName("fifty-three")]
|
||||
ZoneFiftyThree,
|
||||
[APIName("fifty-four")]
|
||||
ZoneFiftyFour,
|
||||
[APIName("fifty-five")]
|
||||
ZoneFiftyFive,
|
||||
[APIName("fifty-six")]
|
||||
ZoneFiftySix,
|
||||
[APIName("fifty-seven")]
|
||||
ZoneFiftySeven,
|
||||
[APIName("fifty-eight")]
|
||||
ZoneFiftyEight,
|
||||
[APIName("fifty-nine")]
|
||||
ZoneFiftyNine,
|
||||
[APIName("sixty")]
|
||||
ZoneSixty,
|
||||
[APIName("sixty-one")]
|
||||
ZoneSixtyOne,
|
||||
[APIName("sixty-two")]
|
||||
ZoneSixtyTwo,
|
||||
[APIName("sixty-three")]
|
||||
ZoneSixtyThree,
|
||||
[APIName("sixty-four")]
|
||||
ZoneSixtyFour,
|
||||
[APIName("sixty-five")]
|
||||
ZoneSixtyFive,
|
||||
[APIName("sixty-six")]
|
||||
ZoneSixtySix,
|
||||
[APIName("sixty-seven")]
|
||||
ZoneSixtySeven,
|
||||
[APIName("sixty-eight")]
|
||||
ZoneSixtyEight,
|
||||
[APIName("sixty-nine")]
|
||||
ZoneSixtyNine,
|
||||
[APIName("seventy")]
|
||||
ZoneSeventy,
|
||||
[APIName("seventy-one")]
|
||||
ZoneSeventyOne,
|
||||
[APIName("seventy-two")]
|
||||
ZoneSeventyTwo,
|
||||
[APIName("seventy-three")]
|
||||
ZoneSeventyThree,
|
||||
[APIName("seventy-four")]
|
||||
ZoneSeventyFour,
|
||||
[APIName("seventy-five")]
|
||||
ZoneSeventyFive,
|
||||
[APIName("seventy-six")]
|
||||
ZoneSeventySix,
|
||||
[APIName("seventy-seven")]
|
||||
ZoneSeventySeven,
|
||||
[APIName("seventy-eight")]
|
||||
ZoneSeventyEight,
|
||||
[APIName("seventy-nine")]
|
||||
ZoneSeventyNine,
|
||||
[APIName("eighty")]
|
||||
ZoneEighty,
|
||||
[APIName("eighty-one")]
|
||||
ZoneEightyOne,
|
||||
[APIName("eighty-two")]
|
||||
ZoneEightyTwo,
|
||||
[APIName("eighty-three")]
|
||||
ZoneEightyThree,
|
||||
[APIName("eighty-four")]
|
||||
ZoneEightyFour,
|
||||
[APIName("eighty-five")]
|
||||
ZoneEightyFive,
|
||||
[APIName("eighty-six")]
|
||||
ZoneEightySix,
|
||||
[APIName("eighty-seven")]
|
||||
ZoneEightySeven,
|
||||
[APIName("eighty-eight")]
|
||||
ZoneEightyEight,
|
||||
[APIName("eighty-nine")]
|
||||
ZoneEightyNine,
|
||||
[APIName("ninety")]
|
||||
ZoneNinety,
|
||||
[APIName("ninety-one")]
|
||||
ZoneNinetyOne,
|
||||
[APIName("ninety-two")]
|
||||
ZoneNinetyTwo,
|
||||
[APIName("ninety-three")]
|
||||
ZoneNinetyThree,
|
||||
[APIName("ninety-four")]
|
||||
ZoneNinetyFour,
|
||||
[APIName("ninety-five")]
|
||||
ZoneNinetyFive,
|
||||
[APIName("ninety-six")]
|
||||
ZoneNinetySix,
|
||||
[APIName("ninety-seven")]
|
||||
ZoneNinetySeven,
|
||||
[APIName("ninety-eight")]
|
||||
ZoneNinetyEight,
|
||||
[APIName("ninety-nine")]
|
||||
ZoneNinetyNine,
|
||||
[APIName("one-hundred")]
|
||||
ZoneOneHundred,
|
||||
[APIName("one-hundred-one")]
|
||||
ZoneOneHundredOne,
|
||||
[APIName("one-hundred-two")]
|
||||
ZoneOneHundredTwo,
|
||||
[APIName("one-hundred-three")]
|
||||
ZoneOneHundredThree,
|
||||
|
||||
[APIName("logo")]
|
||||
Logo,
|
||||
[APIName("a")]
|
||||
A,
|
||||
[APIName("b")]
|
||||
B,
|
||||
[APIName("c")]
|
||||
C,
|
||||
[APIName("d")]
|
||||
D,
|
||||
[APIName("e")]
|
||||
E,
|
||||
[APIName("f")]
|
||||
F,
|
||||
[APIName("g")]
|
||||
G,
|
||||
[APIName("h")]
|
||||
H,
|
||||
[APIName("i")]
|
||||
I,
|
||||
[APIName("j")]
|
||||
J,
|
||||
[APIName("k")]
|
||||
K,
|
||||
[APIName("l")]
|
||||
L,
|
||||
[APIName("m")]
|
||||
M,
|
||||
[APIName("n")]
|
||||
N,
|
||||
[APIName("o")]
|
||||
O,
|
||||
[APIName("p")]
|
||||
P,
|
||||
[APIName("q")]
|
||||
Q,
|
||||
[APIName("r")]
|
||||
R,
|
||||
[APIName("s")]
|
||||
S,
|
||||
[APIName("t")]
|
||||
T,
|
||||
[APIName("u")]
|
||||
U,
|
||||
[APIName("v")]
|
||||
V,
|
||||
[APIName("w")]
|
||||
W,
|
||||
[APIName("x")]
|
||||
X,
|
||||
[APIName("y")]
|
||||
Y,
|
||||
[APIName("z")]
|
||||
Z,
|
||||
[APIName("keyboard-1")]
|
||||
Keyboard1,
|
||||
[APIName("keyboard-2")]
|
||||
Keyboard2,
|
||||
[APIName("keyboard-3")]
|
||||
Keyboard3,
|
||||
[APIName("keyboard-4")]
|
||||
Keyboard4,
|
||||
[APIName("keyboard-5")]
|
||||
Keyboard5,
|
||||
[APIName("keyboard-6")]
|
||||
Keyboard6,
|
||||
[APIName("keyboard-7")]
|
||||
Keyboard7,
|
||||
[APIName("keyboard-8")]
|
||||
Keyboard8,
|
||||
[APIName("keyboard-9")]
|
||||
Keyboard9,
|
||||
[APIName("keyboard-0")]
|
||||
Keyboard0,
|
||||
[APIName("return")]
|
||||
Return,
|
||||
[APIName("escape")]
|
||||
Escape,
|
||||
[APIName("backspace")]
|
||||
Backspace,
|
||||
[APIName("tab")]
|
||||
Tab,
|
||||
[APIName("spacebar")]
|
||||
Spacebar,
|
||||
[APIName("caps")]
|
||||
Caps,
|
||||
[APIName("dash")]
|
||||
Dash,
|
||||
[APIName("equal")]
|
||||
Equal,
|
||||
[APIName("l-bracket")]
|
||||
LBracket,
|
||||
[APIName("r-bracket")]
|
||||
RBracket,
|
||||
[APIName("backslash")]
|
||||
Backslash,
|
||||
[APIName("pound")]
|
||||
Pound,
|
||||
[APIName("semicolon")]
|
||||
Semicolon,
|
||||
[APIName("quote")]
|
||||
Quote,
|
||||
[APIName("backquote")]
|
||||
Backqoute,
|
||||
[APIName("comma")]
|
||||
Comma,
|
||||
[APIName("period")]
|
||||
Period,
|
||||
[APIName("slash")]
|
||||
Slash,
|
||||
[APIName("f1")]
|
||||
F1,
|
||||
[APIName("f2")]
|
||||
F2,
|
||||
[APIName("f3")]
|
||||
F3,
|
||||
[APIName("f4")]
|
||||
F4,
|
||||
[APIName("f5")]
|
||||
F5,
|
||||
[APIName("f6")]
|
||||
F6,
|
||||
[APIName("f7")]
|
||||
F7,
|
||||
[APIName("f8")]
|
||||
F8,
|
||||
[APIName("f9")]
|
||||
F9,
|
||||
[APIName("f10")]
|
||||
F10,
|
||||
[APIName("f11")]
|
||||
F11,
|
||||
[APIName("f12")]
|
||||
F12,
|
||||
[APIName("printscreen")]
|
||||
PrintScreen,
|
||||
[APIName("scrolllock")]
|
||||
ScrollLock,
|
||||
[APIName("pause")]
|
||||
Pause,
|
||||
[APIName("insert")]
|
||||
Insert,
|
||||
[APIName("home")]
|
||||
Home,
|
||||
[APIName("pageup")]
|
||||
PageUp,
|
||||
[APIName("delete")]
|
||||
Delete,
|
||||
[APIName("end")]
|
||||
End,
|
||||
[APIName("pagedown")]
|
||||
PageDown,
|
||||
[APIName("rightarrow")]
|
||||
RightArrow,
|
||||
[APIName("leftarrow")]
|
||||
LeftArrow,
|
||||
[APIName("downarrow")]
|
||||
DownArrow,
|
||||
[APIName("uparrow")]
|
||||
UpArrow,
|
||||
[APIName("keypad-num-lock")]
|
||||
KeypadNumLock,
|
||||
[APIName("keypad-divide")]
|
||||
KeypadDivide,
|
||||
[APIName("keypad-times")]
|
||||
KeypadTimes,
|
||||
[APIName("keypad-minus")]
|
||||
KeypadMinus,
|
||||
[APIName("keypad-plus")]
|
||||
KeypadPlus,
|
||||
[APIName("keypad-enter")]
|
||||
KeypadEnter,
|
||||
[APIName("keypad-period")]
|
||||
KeypadPeriod,
|
||||
[APIName("keypad-1")]
|
||||
Keypad1,
|
||||
[APIName("keypad-2")]
|
||||
Keypad2,
|
||||
[APIName("keypad-3")]
|
||||
Keypad3,
|
||||
[APIName("keypad-4")]
|
||||
Keypad4,
|
||||
[APIName("num-5")] //HACK DarthAffe 07.10.2021: Custom name to workaround a SDK-issue (https://github.com/SteelSeries/gamesense-sdk/issues/85) should normally be 'keypad-5'
|
||||
Keypad5,
|
||||
[APIName("keypad-6")]
|
||||
Keypad6,
|
||||
[APIName("keypad-7")]
|
||||
Keypad7,
|
||||
[APIName("keypad-8")]
|
||||
Keypad8,
|
||||
[APIName("keypad-9")]
|
||||
Keypad9,
|
||||
[APIName("keypad-0")]
|
||||
Keypad0,
|
||||
[APIName("l-ctrl")]
|
||||
LCtrl,
|
||||
[APIName("l-shift")]
|
||||
LShift,
|
||||
[APIName("l-alt")]
|
||||
LAlt,
|
||||
[APIName("l-win")]
|
||||
LWin,
|
||||
[APIName("r-ctrl")]
|
||||
RCtrl,
|
||||
[APIName("r-shift")]
|
||||
RShift,
|
||||
[APIName("r-alt")]
|
||||
RAlt,
|
||||
[APIName("r-win")]
|
||||
RWin,
|
||||
[APIName("ss-key")]
|
||||
SSKey,
|
||||
[APIName("win-menu")]
|
||||
WinMenu,
|
||||
[APIName("m0")]
|
||||
M0,
|
||||
[APIName("m1")]
|
||||
M1,
|
||||
[APIName("m2")]
|
||||
M2,
|
||||
[APIName("m3")]
|
||||
M3,
|
||||
[APIName("m4")]
|
||||
M4,
|
||||
[APIName("m5")]
|
||||
M5,
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a steelseries RGB-device.
|
||||
/// </summary>
|
||||
internal interface ISteelSeriesRGBDevice : IRGBDevice
|
||||
{ }
|
||||
}
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a steelseries RGB-device.
|
||||
/// </summary>
|
||||
internal interface ISteelSeriesRGBDevice : IRGBDevice
|
||||
{ }
|
||||
@@ -1,399 +1,398 @@
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <summary>
|
||||
/// Contains mappings for <see cref="LedId"/> to <see cref="SteelSeriesLedId"/>.
|
||||
/// </summary>
|
||||
public static class LedMappings
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains mappings for <see cref="LedId"/> to <see cref="SteelSeriesLedId"/>.
|
||||
/// Gets the uk-mapping for keyboards.
|
||||
/// </summary>
|
||||
public static class LedMappings
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the uk-mapping for keyboards.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> KeyboardMappingUk { get; } = new()
|
||||
{
|
||||
{ LedId.Logo, SteelSeriesLedId.Logo },
|
||||
{ LedId.Keyboard_Escape, SteelSeriesLedId.Escape },
|
||||
{ LedId.Keyboard_F1, SteelSeriesLedId.F1 },
|
||||
{ LedId.Keyboard_F2, SteelSeriesLedId.F2 },
|
||||
{ LedId.Keyboard_F3, SteelSeriesLedId.F3 },
|
||||
{ LedId.Keyboard_F4, SteelSeriesLedId.F4 },
|
||||
{ LedId.Keyboard_F5, SteelSeriesLedId.F5 },
|
||||
{ LedId.Keyboard_F6, SteelSeriesLedId.F6 },
|
||||
{ LedId.Keyboard_F7, SteelSeriesLedId.F7 },
|
||||
{ LedId.Keyboard_F8, SteelSeriesLedId.F8 },
|
||||
{ LedId.Keyboard_F9, SteelSeriesLedId.F9 },
|
||||
{ LedId.Keyboard_F10, SteelSeriesLedId.F10 },
|
||||
{ LedId.Keyboard_F11, SteelSeriesLedId.F11 },
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, SteelSeriesLedId.Backqoute },
|
||||
{ LedId.Keyboard_1, SteelSeriesLedId.Keyboard1 },
|
||||
{ LedId.Keyboard_2, SteelSeriesLedId.Keyboard2 },
|
||||
{ LedId.Keyboard_3, SteelSeriesLedId.Keyboard3 },
|
||||
{ LedId.Keyboard_4, SteelSeriesLedId.Keyboard4 },
|
||||
{ LedId.Keyboard_5, SteelSeriesLedId.Keyboard5 },
|
||||
{ LedId.Keyboard_6, SteelSeriesLedId.Keyboard6 },
|
||||
{ LedId.Keyboard_7, SteelSeriesLedId.Keyboard7 },
|
||||
{ LedId.Keyboard_8, SteelSeriesLedId.Keyboard8 },
|
||||
{ LedId.Keyboard_9, SteelSeriesLedId.Keyboard9 },
|
||||
{ LedId.Keyboard_0, SteelSeriesLedId.Keyboard0 },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, SteelSeriesLedId.Dash },
|
||||
{ LedId.Keyboard_Tab, SteelSeriesLedId.Tab },
|
||||
{ LedId.Keyboard_Q, SteelSeriesLedId.Q },
|
||||
{ LedId.Keyboard_W, SteelSeriesLedId.W },
|
||||
{ LedId.Keyboard_E, SteelSeriesLedId.E },
|
||||
{ LedId.Keyboard_R, SteelSeriesLedId.R },
|
||||
{ LedId.Keyboard_T, SteelSeriesLedId.T },
|
||||
{ LedId.Keyboard_Y, SteelSeriesLedId.Y },
|
||||
{ LedId.Keyboard_U, SteelSeriesLedId.U },
|
||||
{ LedId.Keyboard_I, SteelSeriesLedId.I },
|
||||
{ LedId.Keyboard_O, SteelSeriesLedId.O },
|
||||
{ LedId.Keyboard_P, SteelSeriesLedId.P },
|
||||
{ LedId.Keyboard_BracketLeft, SteelSeriesLedId.LBracket },
|
||||
{ LedId.Keyboard_CapsLock, SteelSeriesLedId.Caps },
|
||||
{ LedId.Keyboard_A, SteelSeriesLedId.A },
|
||||
{ LedId.Keyboard_S, SteelSeriesLedId.S },
|
||||
{ LedId.Keyboard_D, SteelSeriesLedId.D },
|
||||
{ LedId.Keyboard_F, SteelSeriesLedId.F },
|
||||
{ LedId.Keyboard_G, SteelSeriesLedId.G },
|
||||
{ LedId.Keyboard_H, SteelSeriesLedId.H },
|
||||
{ LedId.Keyboard_J, SteelSeriesLedId.J },
|
||||
{ LedId.Keyboard_K, SteelSeriesLedId.K },
|
||||
{ LedId.Keyboard_L, SteelSeriesLedId.L },
|
||||
{ LedId.Keyboard_SemicolonAndColon, SteelSeriesLedId.Semicolon },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, SteelSeriesLedId.Quote },
|
||||
{ LedId.Keyboard_LeftShift, SteelSeriesLedId.LShift },
|
||||
{ LedId.Keyboard_NonUsTilde, SteelSeriesLedId.Pound },
|
||||
{ LedId.Keyboard_Z, SteelSeriesLedId.Z },
|
||||
{ LedId.Keyboard_X, SteelSeriesLedId.X },
|
||||
{ LedId.Keyboard_C, SteelSeriesLedId.C },
|
||||
{ LedId.Keyboard_V, SteelSeriesLedId.V },
|
||||
{ LedId.Keyboard_B, SteelSeriesLedId.B },
|
||||
{ LedId.Keyboard_N, SteelSeriesLedId.N },
|
||||
{ LedId.Keyboard_M, SteelSeriesLedId.M },
|
||||
{ LedId.Keyboard_CommaAndLessThan, SteelSeriesLedId.Comma },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, SteelSeriesLedId.Period },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, SteelSeriesLedId.Slash },
|
||||
{ LedId.Keyboard_LeftCtrl, SteelSeriesLedId.LCtrl },
|
||||
{ LedId.Keyboard_LeftGui, SteelSeriesLedId.LWin },
|
||||
{ LedId.Keyboard_LeftAlt, SteelSeriesLedId.LAlt },
|
||||
{ LedId.Keyboard_Space, SteelSeriesLedId.Spacebar },
|
||||
{ LedId.Keyboard_RightAlt, SteelSeriesLedId.RAlt },
|
||||
{ LedId.Keyboard_RightGui, SteelSeriesLedId.RWin },
|
||||
{ LedId.Keyboard_Application, SteelSeriesLedId.SSKey },
|
||||
{ LedId.Keyboard_F12, SteelSeriesLedId.F12 },
|
||||
{ LedId.Keyboard_PrintScreen, SteelSeriesLedId.PrintScreen },
|
||||
{ LedId.Keyboard_ScrollLock, SteelSeriesLedId.ScrollLock },
|
||||
{ LedId.Keyboard_PauseBreak, SteelSeriesLedId.Pause },
|
||||
{ LedId.Keyboard_Insert, SteelSeriesLedId.Insert },
|
||||
{ LedId.Keyboard_Home, SteelSeriesLedId.Home },
|
||||
{ LedId.Keyboard_PageUp, SteelSeriesLedId.PageUp },
|
||||
{ LedId.Keyboard_BracketRight, SteelSeriesLedId.RBracket },
|
||||
{ LedId.Keyboard_Backslash, SteelSeriesLedId.Backslash },
|
||||
{ LedId.Keyboard_Enter, SteelSeriesLedId.Return },
|
||||
{ LedId.Keyboard_EqualsAndPlus, SteelSeriesLedId.Equal },
|
||||
{ LedId.Keyboard_Backspace, SteelSeriesLedId.Backspace },
|
||||
{ LedId.Keyboard_Delete, SteelSeriesLedId.Delete },
|
||||
{ LedId.Keyboard_End, SteelSeriesLedId.End },
|
||||
{ LedId.Keyboard_PageDown, SteelSeriesLedId.PageDown },
|
||||
{ LedId.Keyboard_RightShift, SteelSeriesLedId.RShift },
|
||||
{ LedId.Keyboard_RightCtrl, SteelSeriesLedId.RCtrl },
|
||||
{ LedId.Keyboard_ArrowUp, SteelSeriesLedId.UpArrow },
|
||||
{ LedId.Keyboard_ArrowLeft, SteelSeriesLedId.LeftArrow },
|
||||
{ LedId.Keyboard_ArrowDown, SteelSeriesLedId.DownArrow },
|
||||
{ LedId.Keyboard_ArrowRight, SteelSeriesLedId.RightArrow },
|
||||
{ LedId.Keyboard_NumLock, SteelSeriesLedId.KeypadNumLock },
|
||||
{ LedId.Keyboard_NumSlash, SteelSeriesLedId.KeypadDivide },
|
||||
{ LedId.Keyboard_NumAsterisk, SteelSeriesLedId.KeypadTimes },
|
||||
{ LedId.Keyboard_NumMinus, SteelSeriesLedId.KeypadMinus },
|
||||
{ LedId.Keyboard_NumPlus, SteelSeriesLedId.KeypadPlus },
|
||||
{ LedId.Keyboard_NumEnter, SteelSeriesLedId.KeypadEnter },
|
||||
{ LedId.Keyboard_Num7, SteelSeriesLedId.Keypad7 },
|
||||
{ LedId.Keyboard_Num8, SteelSeriesLedId.Keypad8 },
|
||||
{ LedId.Keyboard_Num9, SteelSeriesLedId.Keypad9 },
|
||||
{ LedId.Keyboard_Num4, SteelSeriesLedId.Keypad4 },
|
||||
{ LedId.Keyboard_Num5, SteelSeriesLedId.Keypad5 },
|
||||
{ LedId.Keyboard_Num6, SteelSeriesLedId.Keypad6 },
|
||||
{ LedId.Keyboard_Num1, SteelSeriesLedId.Keypad1 },
|
||||
{ LedId.Keyboard_Num2, SteelSeriesLedId.Keypad2 },
|
||||
{ LedId.Keyboard_Num3, SteelSeriesLedId.Keypad3 },
|
||||
{ LedId.Keyboard_Num0, SteelSeriesLedId.Keypad0 },
|
||||
{ LedId.Keyboard_NumPeriodAndDelete, SteelSeriesLedId.KeypadPeriod }
|
||||
};
|
||||
public static LedMapping<SteelSeriesLedId> KeyboardMappingUk { get; } = new()
|
||||
{
|
||||
{ LedId.Logo, SteelSeriesLedId.Logo },
|
||||
{ LedId.Keyboard_Escape, SteelSeriesLedId.Escape },
|
||||
{ LedId.Keyboard_F1, SteelSeriesLedId.F1 },
|
||||
{ LedId.Keyboard_F2, SteelSeriesLedId.F2 },
|
||||
{ LedId.Keyboard_F3, SteelSeriesLedId.F3 },
|
||||
{ LedId.Keyboard_F4, SteelSeriesLedId.F4 },
|
||||
{ LedId.Keyboard_F5, SteelSeriesLedId.F5 },
|
||||
{ LedId.Keyboard_F6, SteelSeriesLedId.F6 },
|
||||
{ LedId.Keyboard_F7, SteelSeriesLedId.F7 },
|
||||
{ LedId.Keyboard_F8, SteelSeriesLedId.F8 },
|
||||
{ LedId.Keyboard_F9, SteelSeriesLedId.F9 },
|
||||
{ LedId.Keyboard_F10, SteelSeriesLedId.F10 },
|
||||
{ LedId.Keyboard_F11, SteelSeriesLedId.F11 },
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, SteelSeriesLedId.Backqoute },
|
||||
{ LedId.Keyboard_1, SteelSeriesLedId.Keyboard1 },
|
||||
{ LedId.Keyboard_2, SteelSeriesLedId.Keyboard2 },
|
||||
{ LedId.Keyboard_3, SteelSeriesLedId.Keyboard3 },
|
||||
{ LedId.Keyboard_4, SteelSeriesLedId.Keyboard4 },
|
||||
{ LedId.Keyboard_5, SteelSeriesLedId.Keyboard5 },
|
||||
{ LedId.Keyboard_6, SteelSeriesLedId.Keyboard6 },
|
||||
{ LedId.Keyboard_7, SteelSeriesLedId.Keyboard7 },
|
||||
{ LedId.Keyboard_8, SteelSeriesLedId.Keyboard8 },
|
||||
{ LedId.Keyboard_9, SteelSeriesLedId.Keyboard9 },
|
||||
{ LedId.Keyboard_0, SteelSeriesLedId.Keyboard0 },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, SteelSeriesLedId.Dash },
|
||||
{ LedId.Keyboard_Tab, SteelSeriesLedId.Tab },
|
||||
{ LedId.Keyboard_Q, SteelSeriesLedId.Q },
|
||||
{ LedId.Keyboard_W, SteelSeriesLedId.W },
|
||||
{ LedId.Keyboard_E, SteelSeriesLedId.E },
|
||||
{ LedId.Keyboard_R, SteelSeriesLedId.R },
|
||||
{ LedId.Keyboard_T, SteelSeriesLedId.T },
|
||||
{ LedId.Keyboard_Y, SteelSeriesLedId.Y },
|
||||
{ LedId.Keyboard_U, SteelSeriesLedId.U },
|
||||
{ LedId.Keyboard_I, SteelSeriesLedId.I },
|
||||
{ LedId.Keyboard_O, SteelSeriesLedId.O },
|
||||
{ LedId.Keyboard_P, SteelSeriesLedId.P },
|
||||
{ LedId.Keyboard_BracketLeft, SteelSeriesLedId.LBracket },
|
||||
{ LedId.Keyboard_CapsLock, SteelSeriesLedId.Caps },
|
||||
{ LedId.Keyboard_A, SteelSeriesLedId.A },
|
||||
{ LedId.Keyboard_S, SteelSeriesLedId.S },
|
||||
{ LedId.Keyboard_D, SteelSeriesLedId.D },
|
||||
{ LedId.Keyboard_F, SteelSeriesLedId.F },
|
||||
{ LedId.Keyboard_G, SteelSeriesLedId.G },
|
||||
{ LedId.Keyboard_H, SteelSeriesLedId.H },
|
||||
{ LedId.Keyboard_J, SteelSeriesLedId.J },
|
||||
{ LedId.Keyboard_K, SteelSeriesLedId.K },
|
||||
{ LedId.Keyboard_L, SteelSeriesLedId.L },
|
||||
{ LedId.Keyboard_SemicolonAndColon, SteelSeriesLedId.Semicolon },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, SteelSeriesLedId.Quote },
|
||||
{ LedId.Keyboard_LeftShift, SteelSeriesLedId.LShift },
|
||||
{ LedId.Keyboard_NonUsTilde, SteelSeriesLedId.Pound },
|
||||
{ LedId.Keyboard_Z, SteelSeriesLedId.Z },
|
||||
{ LedId.Keyboard_X, SteelSeriesLedId.X },
|
||||
{ LedId.Keyboard_C, SteelSeriesLedId.C },
|
||||
{ LedId.Keyboard_V, SteelSeriesLedId.V },
|
||||
{ LedId.Keyboard_B, SteelSeriesLedId.B },
|
||||
{ LedId.Keyboard_N, SteelSeriesLedId.N },
|
||||
{ LedId.Keyboard_M, SteelSeriesLedId.M },
|
||||
{ LedId.Keyboard_CommaAndLessThan, SteelSeriesLedId.Comma },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, SteelSeriesLedId.Period },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, SteelSeriesLedId.Slash },
|
||||
{ LedId.Keyboard_LeftCtrl, SteelSeriesLedId.LCtrl },
|
||||
{ LedId.Keyboard_LeftGui, SteelSeriesLedId.LWin },
|
||||
{ LedId.Keyboard_LeftAlt, SteelSeriesLedId.LAlt },
|
||||
{ LedId.Keyboard_Space, SteelSeriesLedId.Spacebar },
|
||||
{ LedId.Keyboard_RightAlt, SteelSeriesLedId.RAlt },
|
||||
{ LedId.Keyboard_RightGui, SteelSeriesLedId.RWin },
|
||||
{ LedId.Keyboard_Application, SteelSeriesLedId.SSKey },
|
||||
{ LedId.Keyboard_F12, SteelSeriesLedId.F12 },
|
||||
{ LedId.Keyboard_PrintScreen, SteelSeriesLedId.PrintScreen },
|
||||
{ LedId.Keyboard_ScrollLock, SteelSeriesLedId.ScrollLock },
|
||||
{ LedId.Keyboard_PauseBreak, SteelSeriesLedId.Pause },
|
||||
{ LedId.Keyboard_Insert, SteelSeriesLedId.Insert },
|
||||
{ LedId.Keyboard_Home, SteelSeriesLedId.Home },
|
||||
{ LedId.Keyboard_PageUp, SteelSeriesLedId.PageUp },
|
||||
{ LedId.Keyboard_BracketRight, SteelSeriesLedId.RBracket },
|
||||
{ LedId.Keyboard_Backslash, SteelSeriesLedId.Backslash },
|
||||
{ LedId.Keyboard_Enter, SteelSeriesLedId.Return },
|
||||
{ LedId.Keyboard_EqualsAndPlus, SteelSeriesLedId.Equal },
|
||||
{ LedId.Keyboard_Backspace, SteelSeriesLedId.Backspace },
|
||||
{ LedId.Keyboard_Delete, SteelSeriesLedId.Delete },
|
||||
{ LedId.Keyboard_End, SteelSeriesLedId.End },
|
||||
{ LedId.Keyboard_PageDown, SteelSeriesLedId.PageDown },
|
||||
{ LedId.Keyboard_RightShift, SteelSeriesLedId.RShift },
|
||||
{ LedId.Keyboard_RightCtrl, SteelSeriesLedId.RCtrl },
|
||||
{ LedId.Keyboard_ArrowUp, SteelSeriesLedId.UpArrow },
|
||||
{ LedId.Keyboard_ArrowLeft, SteelSeriesLedId.LeftArrow },
|
||||
{ LedId.Keyboard_ArrowDown, SteelSeriesLedId.DownArrow },
|
||||
{ LedId.Keyboard_ArrowRight, SteelSeriesLedId.RightArrow },
|
||||
{ LedId.Keyboard_NumLock, SteelSeriesLedId.KeypadNumLock },
|
||||
{ LedId.Keyboard_NumSlash, SteelSeriesLedId.KeypadDivide },
|
||||
{ LedId.Keyboard_NumAsterisk, SteelSeriesLedId.KeypadTimes },
|
||||
{ LedId.Keyboard_NumMinus, SteelSeriesLedId.KeypadMinus },
|
||||
{ LedId.Keyboard_NumPlus, SteelSeriesLedId.KeypadPlus },
|
||||
{ LedId.Keyboard_NumEnter, SteelSeriesLedId.KeypadEnter },
|
||||
{ LedId.Keyboard_Num7, SteelSeriesLedId.Keypad7 },
|
||||
{ LedId.Keyboard_Num8, SteelSeriesLedId.Keypad8 },
|
||||
{ LedId.Keyboard_Num9, SteelSeriesLedId.Keypad9 },
|
||||
{ LedId.Keyboard_Num4, SteelSeriesLedId.Keypad4 },
|
||||
{ LedId.Keyboard_Num5, SteelSeriesLedId.Keypad5 },
|
||||
{ LedId.Keyboard_Num6, SteelSeriesLedId.Keypad6 },
|
||||
{ LedId.Keyboard_Num1, SteelSeriesLedId.Keypad1 },
|
||||
{ LedId.Keyboard_Num2, SteelSeriesLedId.Keypad2 },
|
||||
{ LedId.Keyboard_Num3, SteelSeriesLedId.Keypad3 },
|
||||
{ LedId.Keyboard_Num0, SteelSeriesLedId.Keypad0 },
|
||||
{ LedId.Keyboard_NumPeriodAndDelete, SteelSeriesLedId.KeypadPeriod }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the uk-tkl-mapping for keyboards.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> KeyboardTklMappingUk { get; } = new()
|
||||
{
|
||||
{ LedId.Logo, SteelSeriesLedId.Logo },
|
||||
{ LedId.Keyboard_Escape, SteelSeriesLedId.Escape },
|
||||
{ LedId.Keyboard_F1, SteelSeriesLedId.F1 },
|
||||
{ LedId.Keyboard_F2, SteelSeriesLedId.F2 },
|
||||
{ LedId.Keyboard_F3, SteelSeriesLedId.F3 },
|
||||
{ LedId.Keyboard_F4, SteelSeriesLedId.F4 },
|
||||
{ LedId.Keyboard_F5, SteelSeriesLedId.F5 },
|
||||
{ LedId.Keyboard_F6, SteelSeriesLedId.F6 },
|
||||
{ LedId.Keyboard_F7, SteelSeriesLedId.F7 },
|
||||
{ LedId.Keyboard_F8, SteelSeriesLedId.F8 },
|
||||
{ LedId.Keyboard_F9, SteelSeriesLedId.F9 },
|
||||
{ LedId.Keyboard_F10, SteelSeriesLedId.F10 },
|
||||
{ LedId.Keyboard_F11, SteelSeriesLedId.F11 },
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, SteelSeriesLedId.Backqoute },
|
||||
{ LedId.Keyboard_1, SteelSeriesLedId.Keyboard1 },
|
||||
{ LedId.Keyboard_2, SteelSeriesLedId.Keyboard2 },
|
||||
{ LedId.Keyboard_3, SteelSeriesLedId.Keyboard3 },
|
||||
{ LedId.Keyboard_4, SteelSeriesLedId.Keyboard4 },
|
||||
{ LedId.Keyboard_5, SteelSeriesLedId.Keyboard5 },
|
||||
{ LedId.Keyboard_6, SteelSeriesLedId.Keyboard6 },
|
||||
{ LedId.Keyboard_7, SteelSeriesLedId.Keyboard7 },
|
||||
{ LedId.Keyboard_8, SteelSeriesLedId.Keyboard8 },
|
||||
{ LedId.Keyboard_9, SteelSeriesLedId.Keyboard9 },
|
||||
{ LedId.Keyboard_0, SteelSeriesLedId.Keyboard0 },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, SteelSeriesLedId.Dash },
|
||||
{ LedId.Keyboard_Tab, SteelSeriesLedId.Tab },
|
||||
{ LedId.Keyboard_Q, SteelSeriesLedId.Q },
|
||||
{ LedId.Keyboard_W, SteelSeriesLedId.W },
|
||||
{ LedId.Keyboard_E, SteelSeriesLedId.E },
|
||||
{ LedId.Keyboard_R, SteelSeriesLedId.R },
|
||||
{ LedId.Keyboard_T, SteelSeriesLedId.T },
|
||||
{ LedId.Keyboard_Y, SteelSeriesLedId.Y },
|
||||
{ LedId.Keyboard_U, SteelSeriesLedId.U },
|
||||
{ LedId.Keyboard_I, SteelSeriesLedId.I },
|
||||
{ LedId.Keyboard_O, SteelSeriesLedId.O },
|
||||
{ LedId.Keyboard_P, SteelSeriesLedId.P },
|
||||
{ LedId.Keyboard_BracketLeft, SteelSeriesLedId.LBracket },
|
||||
{ LedId.Keyboard_CapsLock, SteelSeriesLedId.Caps },
|
||||
{ LedId.Keyboard_A, SteelSeriesLedId.A },
|
||||
{ LedId.Keyboard_S, SteelSeriesLedId.S },
|
||||
{ LedId.Keyboard_D, SteelSeriesLedId.D },
|
||||
{ LedId.Keyboard_F, SteelSeriesLedId.F },
|
||||
{ LedId.Keyboard_G, SteelSeriesLedId.G },
|
||||
{ LedId.Keyboard_H, SteelSeriesLedId.H },
|
||||
{ LedId.Keyboard_J, SteelSeriesLedId.J },
|
||||
{ LedId.Keyboard_K, SteelSeriesLedId.K },
|
||||
{ LedId.Keyboard_L, SteelSeriesLedId.L },
|
||||
{ LedId.Keyboard_SemicolonAndColon, SteelSeriesLedId.Semicolon },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, SteelSeriesLedId.Quote },
|
||||
{ LedId.Keyboard_LeftShift, SteelSeriesLedId.LShift },
|
||||
{ LedId.Keyboard_NonUsTilde, SteelSeriesLedId.Pound },
|
||||
{ LedId.Keyboard_Z, SteelSeriesLedId.Z },
|
||||
{ LedId.Keyboard_X, SteelSeriesLedId.X },
|
||||
{ LedId.Keyboard_C, SteelSeriesLedId.C },
|
||||
{ LedId.Keyboard_V, SteelSeriesLedId.V },
|
||||
{ LedId.Keyboard_B, SteelSeriesLedId.B },
|
||||
{ LedId.Keyboard_N, SteelSeriesLedId.N },
|
||||
{ LedId.Keyboard_M, SteelSeriesLedId.M },
|
||||
{ LedId.Keyboard_CommaAndLessThan, SteelSeriesLedId.Comma },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, SteelSeriesLedId.Period },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, SteelSeriesLedId.Slash },
|
||||
{ LedId.Keyboard_LeftCtrl, SteelSeriesLedId.LCtrl },
|
||||
{ LedId.Keyboard_LeftGui, SteelSeriesLedId.LWin },
|
||||
{ LedId.Keyboard_LeftAlt, SteelSeriesLedId.LAlt },
|
||||
{ LedId.Keyboard_Space, SteelSeriesLedId.Spacebar },
|
||||
{ LedId.Keyboard_RightAlt, SteelSeriesLedId.RAlt },
|
||||
{ LedId.Keyboard_RightGui, SteelSeriesLedId.RWin },
|
||||
{ LedId.Keyboard_Application, SteelSeriesLedId.SSKey },
|
||||
{ LedId.Keyboard_F12, SteelSeriesLedId.F12 },
|
||||
{ LedId.Keyboard_PrintScreen, SteelSeriesLedId.PrintScreen },
|
||||
{ LedId.Keyboard_ScrollLock, SteelSeriesLedId.ScrollLock },
|
||||
{ LedId.Keyboard_PauseBreak, SteelSeriesLedId.Pause },
|
||||
{ LedId.Keyboard_Insert, SteelSeriesLedId.Insert },
|
||||
{ LedId.Keyboard_Home, SteelSeriesLedId.Home },
|
||||
{ LedId.Keyboard_PageUp, SteelSeriesLedId.PageUp },
|
||||
{ LedId.Keyboard_BracketRight, SteelSeriesLedId.RBracket },
|
||||
{ LedId.Keyboard_Backslash, SteelSeriesLedId.Backslash },
|
||||
{ LedId.Keyboard_Enter, SteelSeriesLedId.Return },
|
||||
{ LedId.Keyboard_EqualsAndPlus, SteelSeriesLedId.Equal },
|
||||
{ LedId.Keyboard_Backspace, SteelSeriesLedId.Backspace },
|
||||
{ LedId.Keyboard_Delete, SteelSeriesLedId.Delete },
|
||||
{ LedId.Keyboard_End, SteelSeriesLedId.End },
|
||||
{ LedId.Keyboard_PageDown, SteelSeriesLedId.PageDown },
|
||||
{ LedId.Keyboard_RightShift, SteelSeriesLedId.RShift },
|
||||
{ LedId.Keyboard_RightCtrl, SteelSeriesLedId.RCtrl },
|
||||
{ LedId.Keyboard_ArrowUp, SteelSeriesLedId.UpArrow },
|
||||
{ LedId.Keyboard_ArrowLeft, SteelSeriesLedId.LeftArrow },
|
||||
{ LedId.Keyboard_ArrowDown, SteelSeriesLedId.DownArrow },
|
||||
{ LedId.Keyboard_ArrowRight, SteelSeriesLedId.RightArrow }
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the uk-tkl-mapping for keyboards.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> KeyboardTklMappingUk { get; } = new()
|
||||
{
|
||||
{ LedId.Logo, SteelSeriesLedId.Logo },
|
||||
{ LedId.Keyboard_Escape, SteelSeriesLedId.Escape },
|
||||
{ LedId.Keyboard_F1, SteelSeriesLedId.F1 },
|
||||
{ LedId.Keyboard_F2, SteelSeriesLedId.F2 },
|
||||
{ LedId.Keyboard_F3, SteelSeriesLedId.F3 },
|
||||
{ LedId.Keyboard_F4, SteelSeriesLedId.F4 },
|
||||
{ LedId.Keyboard_F5, SteelSeriesLedId.F5 },
|
||||
{ LedId.Keyboard_F6, SteelSeriesLedId.F6 },
|
||||
{ LedId.Keyboard_F7, SteelSeriesLedId.F7 },
|
||||
{ LedId.Keyboard_F8, SteelSeriesLedId.F8 },
|
||||
{ LedId.Keyboard_F9, SteelSeriesLedId.F9 },
|
||||
{ LedId.Keyboard_F10, SteelSeriesLedId.F10 },
|
||||
{ LedId.Keyboard_F11, SteelSeriesLedId.F11 },
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, SteelSeriesLedId.Backqoute },
|
||||
{ LedId.Keyboard_1, SteelSeriesLedId.Keyboard1 },
|
||||
{ LedId.Keyboard_2, SteelSeriesLedId.Keyboard2 },
|
||||
{ LedId.Keyboard_3, SteelSeriesLedId.Keyboard3 },
|
||||
{ LedId.Keyboard_4, SteelSeriesLedId.Keyboard4 },
|
||||
{ LedId.Keyboard_5, SteelSeriesLedId.Keyboard5 },
|
||||
{ LedId.Keyboard_6, SteelSeriesLedId.Keyboard6 },
|
||||
{ LedId.Keyboard_7, SteelSeriesLedId.Keyboard7 },
|
||||
{ LedId.Keyboard_8, SteelSeriesLedId.Keyboard8 },
|
||||
{ LedId.Keyboard_9, SteelSeriesLedId.Keyboard9 },
|
||||
{ LedId.Keyboard_0, SteelSeriesLedId.Keyboard0 },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, SteelSeriesLedId.Dash },
|
||||
{ LedId.Keyboard_Tab, SteelSeriesLedId.Tab },
|
||||
{ LedId.Keyboard_Q, SteelSeriesLedId.Q },
|
||||
{ LedId.Keyboard_W, SteelSeriesLedId.W },
|
||||
{ LedId.Keyboard_E, SteelSeriesLedId.E },
|
||||
{ LedId.Keyboard_R, SteelSeriesLedId.R },
|
||||
{ LedId.Keyboard_T, SteelSeriesLedId.T },
|
||||
{ LedId.Keyboard_Y, SteelSeriesLedId.Y },
|
||||
{ LedId.Keyboard_U, SteelSeriesLedId.U },
|
||||
{ LedId.Keyboard_I, SteelSeriesLedId.I },
|
||||
{ LedId.Keyboard_O, SteelSeriesLedId.O },
|
||||
{ LedId.Keyboard_P, SteelSeriesLedId.P },
|
||||
{ LedId.Keyboard_BracketLeft, SteelSeriesLedId.LBracket },
|
||||
{ LedId.Keyboard_CapsLock, SteelSeriesLedId.Caps },
|
||||
{ LedId.Keyboard_A, SteelSeriesLedId.A },
|
||||
{ LedId.Keyboard_S, SteelSeriesLedId.S },
|
||||
{ LedId.Keyboard_D, SteelSeriesLedId.D },
|
||||
{ LedId.Keyboard_F, SteelSeriesLedId.F },
|
||||
{ LedId.Keyboard_G, SteelSeriesLedId.G },
|
||||
{ LedId.Keyboard_H, SteelSeriesLedId.H },
|
||||
{ LedId.Keyboard_J, SteelSeriesLedId.J },
|
||||
{ LedId.Keyboard_K, SteelSeriesLedId.K },
|
||||
{ LedId.Keyboard_L, SteelSeriesLedId.L },
|
||||
{ LedId.Keyboard_SemicolonAndColon, SteelSeriesLedId.Semicolon },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, SteelSeriesLedId.Quote },
|
||||
{ LedId.Keyboard_LeftShift, SteelSeriesLedId.LShift },
|
||||
{ LedId.Keyboard_NonUsTilde, SteelSeriesLedId.Pound },
|
||||
{ LedId.Keyboard_Z, SteelSeriesLedId.Z },
|
||||
{ LedId.Keyboard_X, SteelSeriesLedId.X },
|
||||
{ LedId.Keyboard_C, SteelSeriesLedId.C },
|
||||
{ LedId.Keyboard_V, SteelSeriesLedId.V },
|
||||
{ LedId.Keyboard_B, SteelSeriesLedId.B },
|
||||
{ LedId.Keyboard_N, SteelSeriesLedId.N },
|
||||
{ LedId.Keyboard_M, SteelSeriesLedId.M },
|
||||
{ LedId.Keyboard_CommaAndLessThan, SteelSeriesLedId.Comma },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, SteelSeriesLedId.Period },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, SteelSeriesLedId.Slash },
|
||||
{ LedId.Keyboard_LeftCtrl, SteelSeriesLedId.LCtrl },
|
||||
{ LedId.Keyboard_LeftGui, SteelSeriesLedId.LWin },
|
||||
{ LedId.Keyboard_LeftAlt, SteelSeriesLedId.LAlt },
|
||||
{ LedId.Keyboard_Space, SteelSeriesLedId.Spacebar },
|
||||
{ LedId.Keyboard_RightAlt, SteelSeriesLedId.RAlt },
|
||||
{ LedId.Keyboard_RightGui, SteelSeriesLedId.RWin },
|
||||
{ LedId.Keyboard_Application, SteelSeriesLedId.SSKey },
|
||||
{ LedId.Keyboard_F12, SteelSeriesLedId.F12 },
|
||||
{ LedId.Keyboard_PrintScreen, SteelSeriesLedId.PrintScreen },
|
||||
{ LedId.Keyboard_ScrollLock, SteelSeriesLedId.ScrollLock },
|
||||
{ LedId.Keyboard_PauseBreak, SteelSeriesLedId.Pause },
|
||||
{ LedId.Keyboard_Insert, SteelSeriesLedId.Insert },
|
||||
{ LedId.Keyboard_Home, SteelSeriesLedId.Home },
|
||||
{ LedId.Keyboard_PageUp, SteelSeriesLedId.PageUp },
|
||||
{ LedId.Keyboard_BracketRight, SteelSeriesLedId.RBracket },
|
||||
{ LedId.Keyboard_Backslash, SteelSeriesLedId.Backslash },
|
||||
{ LedId.Keyboard_Enter, SteelSeriesLedId.Return },
|
||||
{ LedId.Keyboard_EqualsAndPlus, SteelSeriesLedId.Equal },
|
||||
{ LedId.Keyboard_Backspace, SteelSeriesLedId.Backspace },
|
||||
{ LedId.Keyboard_Delete, SteelSeriesLedId.Delete },
|
||||
{ LedId.Keyboard_End, SteelSeriesLedId.End },
|
||||
{ LedId.Keyboard_PageDown, SteelSeriesLedId.PageDown },
|
||||
{ LedId.Keyboard_RightShift, SteelSeriesLedId.RShift },
|
||||
{ LedId.Keyboard_RightCtrl, SteelSeriesLedId.RCtrl },
|
||||
{ LedId.Keyboard_ArrowUp, SteelSeriesLedId.UpArrow },
|
||||
{ LedId.Keyboard_ArrowLeft, SteelSeriesLedId.LeftArrow },
|
||||
{ LedId.Keyboard_ArrowDown, SteelSeriesLedId.DownArrow },
|
||||
{ LedId.Keyboard_ArrowRight, SteelSeriesLedId.RightArrow }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for one-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseOneZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne }
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the mapping for one-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseOneZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for two-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseTwoZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mouse2, SteelSeriesLedId.ZoneTwo }
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the mapping for two-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseTwoZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mouse2, SteelSeriesLedId.ZoneTwo }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for three-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseThreeZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mouse2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.Mouse3, SteelSeriesLedId.ZoneThree }
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the mapping for three-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseThreeZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mouse2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.Mouse3, SteelSeriesLedId.ZoneThree }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for eight-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseEightZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mouse2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.Mouse3, SteelSeriesLedId.ZoneThree },
|
||||
{ LedId.Mouse4, SteelSeriesLedId.ZoneFour },
|
||||
{ LedId.Mouse5, SteelSeriesLedId.ZoneFive },
|
||||
{ LedId.Mouse6, SteelSeriesLedId.ZoneSix },
|
||||
{ LedId.Mouse7, SteelSeriesLedId.ZoneSeven },
|
||||
{ LedId.Mouse8, SteelSeriesLedId.ZoneEight }
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the mapping for eight-zone mice.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MouseEightZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mouse1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mouse2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.Mouse3, SteelSeriesLedId.ZoneThree },
|
||||
{ LedId.Mouse4, SteelSeriesLedId.ZoneFour },
|
||||
{ LedId.Mouse5, SteelSeriesLedId.ZoneFive },
|
||||
{ LedId.Mouse6, SteelSeriesLedId.ZoneSix },
|
||||
{ LedId.Mouse7, SteelSeriesLedId.ZoneSeven },
|
||||
{ LedId.Mouse8, SteelSeriesLedId.ZoneEight }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for two-zone headsets.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> HeadsetTwoZone { get; } = new()
|
||||
{
|
||||
{ LedId.Headset1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Headset2, SteelSeriesLedId.ZoneTwo }
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the mapping for two-zone headsets.
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> HeadsetTwoZone { get; } = new()
|
||||
{
|
||||
{ LedId.Headset1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Headset2, SteelSeriesLedId.ZoneTwo }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for twelve-zone mousepads
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MousepadTwelveZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mousepad1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mousepad2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.Mousepad3, SteelSeriesLedId.ZoneThree },
|
||||
{ LedId.Mousepad4, SteelSeriesLedId.ZoneFour },
|
||||
{ LedId.Mousepad5, SteelSeriesLedId.ZoneFive },
|
||||
{ LedId.Mousepad6, SteelSeriesLedId.ZoneSix },
|
||||
{ LedId.Mousepad7, SteelSeriesLedId.ZoneSeven },
|
||||
{ LedId.Mousepad8, SteelSeriesLedId.ZoneEight },
|
||||
{ LedId.Mousepad9, SteelSeriesLedId.ZoneNine },
|
||||
{ LedId.Mousepad10, SteelSeriesLedId.ZoneTen },
|
||||
{ LedId.Mousepad11, SteelSeriesLedId.ZoneEleven },
|
||||
{ LedId.Mousepad12, SteelSeriesLedId.ZoneTwelve },
|
||||
};
|
||||
/// <summary>
|
||||
/// Gets the mapping for twelve-zone mousepads
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MousepadTwelveZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mousepad1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mousepad2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.Mousepad3, SteelSeriesLedId.ZoneThree },
|
||||
{ LedId.Mousepad4, SteelSeriesLedId.ZoneFour },
|
||||
{ LedId.Mousepad5, SteelSeriesLedId.ZoneFive },
|
||||
{ LedId.Mousepad6, SteelSeriesLedId.ZoneSix },
|
||||
{ LedId.Mousepad7, SteelSeriesLedId.ZoneSeven },
|
||||
{ LedId.Mousepad8, SteelSeriesLedId.ZoneEight },
|
||||
{ LedId.Mousepad9, SteelSeriesLedId.ZoneNine },
|
||||
{ LedId.Mousepad10, SteelSeriesLedId.ZoneTen },
|
||||
{ LedId.Mousepad11, SteelSeriesLedId.ZoneEleven },
|
||||
{ LedId.Mousepad12, SteelSeriesLedId.ZoneTwelve },
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for 103-zone led strip devices (monitor).
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MonitorOnehundredandthreeZone { get; } = new()
|
||||
{
|
||||
{ LedId.LedStripe1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.LedStripe2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.LedStripe3, SteelSeriesLedId.ZoneThree },
|
||||
{ LedId.LedStripe4, SteelSeriesLedId.ZoneFour },
|
||||
{ LedId.LedStripe5, SteelSeriesLedId.ZoneFive },
|
||||
{ LedId.LedStripe6, SteelSeriesLedId.ZoneSix },
|
||||
{ LedId.LedStripe7, SteelSeriesLedId.ZoneSeven },
|
||||
{ LedId.LedStripe8, SteelSeriesLedId.ZoneEight },
|
||||
{ LedId.LedStripe9, SteelSeriesLedId.ZoneNine },
|
||||
{ LedId.LedStripe10, SteelSeriesLedId.ZoneTen },
|
||||
{ LedId.LedStripe11, SteelSeriesLedId.ZoneEleven },
|
||||
{ LedId.LedStripe12, SteelSeriesLedId.ZoneTwelve },
|
||||
{ LedId.LedStripe13, SteelSeriesLedId.ZoneThirteen },
|
||||
{ LedId.LedStripe14, SteelSeriesLedId.ZoneFourteen },
|
||||
{ LedId.LedStripe15, SteelSeriesLedId.ZoneFifteen },
|
||||
{ LedId.LedStripe16, SteelSeriesLedId.ZoneSixteen },
|
||||
{ LedId.LedStripe17, SteelSeriesLedId.ZoneSeventeen },
|
||||
{ LedId.LedStripe18, SteelSeriesLedId.ZoneEighteen },
|
||||
{ LedId.LedStripe19, SteelSeriesLedId.ZoneNineteen },
|
||||
{ LedId.LedStripe20, SteelSeriesLedId.ZoneTwenty },
|
||||
{ LedId.LedStripe21, SteelSeriesLedId.ZoneTwentyOne },
|
||||
{ LedId.LedStripe22, SteelSeriesLedId.ZoneTwentyTwo },
|
||||
{ LedId.LedStripe23, SteelSeriesLedId.ZoneTwentyThree },
|
||||
{ LedId.LedStripe24, SteelSeriesLedId.ZoneTwentyFour },
|
||||
{ LedId.LedStripe25, SteelSeriesLedId.ZoneTwentyFive },
|
||||
{ LedId.LedStripe26, SteelSeriesLedId.ZoneTwentySix },
|
||||
{ LedId.LedStripe27, SteelSeriesLedId.ZoneTwentySeven },
|
||||
{ LedId.LedStripe28, SteelSeriesLedId.ZoneTwentyEight },
|
||||
{ LedId.LedStripe29, SteelSeriesLedId.ZoneTwentyNine },
|
||||
{ LedId.LedStripe30, SteelSeriesLedId.ZoneThirty },
|
||||
{ LedId.LedStripe31, SteelSeriesLedId.ZoneThirtyOne },
|
||||
{ LedId.LedStripe32, SteelSeriesLedId.ZoneThirtyTwo },
|
||||
{ LedId.LedStripe33, SteelSeriesLedId.ZoneThirtyThree },
|
||||
{ LedId.LedStripe34, SteelSeriesLedId.ZoneThirtyFour },
|
||||
{ LedId.LedStripe35, SteelSeriesLedId.ZoneThirtyFive },
|
||||
{ LedId.LedStripe36, SteelSeriesLedId.ZoneThirtySix },
|
||||
{ LedId.LedStripe37, SteelSeriesLedId.ZoneThirtySeven },
|
||||
{ LedId.LedStripe38, SteelSeriesLedId.ZoneThirtyEight },
|
||||
{ LedId.LedStripe39, SteelSeriesLedId.ZoneThirtyNine },
|
||||
{ LedId.LedStripe40, SteelSeriesLedId.ZoneForty },
|
||||
{ LedId.LedStripe41, SteelSeriesLedId.ZoneFortyOne },
|
||||
{ LedId.LedStripe42, SteelSeriesLedId.ZoneFortyTwo },
|
||||
{ LedId.LedStripe43, SteelSeriesLedId.ZoneFortyThree },
|
||||
{ LedId.LedStripe44, SteelSeriesLedId.ZoneFortyFour },
|
||||
{ LedId.LedStripe45, SteelSeriesLedId.ZoneFortyFive },
|
||||
{ LedId.LedStripe46, SteelSeriesLedId.ZoneFortySix },
|
||||
{ LedId.LedStripe47, SteelSeriesLedId.ZoneFortySeven },
|
||||
{ LedId.LedStripe48, SteelSeriesLedId.ZoneFortyEight },
|
||||
{ LedId.LedStripe49, SteelSeriesLedId.ZoneFortyNine },
|
||||
{ LedId.LedStripe50, SteelSeriesLedId.ZoneFifty },
|
||||
{ LedId.LedStripe51, SteelSeriesLedId.ZoneFiftyOne },
|
||||
{ LedId.LedStripe52, SteelSeriesLedId.ZoneFiftyTwo },
|
||||
{ LedId.LedStripe53, SteelSeriesLedId.ZoneFiftyThree },
|
||||
{ LedId.LedStripe54, SteelSeriesLedId.ZoneFiftyFour },
|
||||
{ LedId.LedStripe55, SteelSeriesLedId.ZoneFiftyFive },
|
||||
{ LedId.LedStripe56, SteelSeriesLedId.ZoneFiftySix },
|
||||
{ LedId.LedStripe57, SteelSeriesLedId.ZoneFiftySeven },
|
||||
{ LedId.LedStripe58, SteelSeriesLedId.ZoneFiftyEight },
|
||||
{ LedId.LedStripe59, SteelSeriesLedId.ZoneFiftyNine },
|
||||
{ LedId.LedStripe60, SteelSeriesLedId.ZoneSixty },
|
||||
{ LedId.LedStripe61, SteelSeriesLedId.ZoneSixtyOne },
|
||||
{ LedId.LedStripe62, SteelSeriesLedId.ZoneSixtyTwo },
|
||||
{ LedId.LedStripe63, SteelSeriesLedId.ZoneSixtyThree },
|
||||
{ LedId.LedStripe64, SteelSeriesLedId.ZoneSixtyFour },
|
||||
{ LedId.LedStripe65, SteelSeriesLedId.ZoneSixtyFive },
|
||||
{ LedId.LedStripe66, SteelSeriesLedId.ZoneSixtySix },
|
||||
{ LedId.LedStripe67, SteelSeriesLedId.ZoneSixtySeven },
|
||||
{ LedId.LedStripe68, SteelSeriesLedId.ZoneSixtyEight },
|
||||
{ LedId.LedStripe69, SteelSeriesLedId.ZoneSixtyNine },
|
||||
{ LedId.LedStripe70, SteelSeriesLedId.ZoneSeventy },
|
||||
{ LedId.LedStripe71, SteelSeriesLedId.ZoneSeventyOne },
|
||||
{ LedId.LedStripe72, SteelSeriesLedId.ZoneSeventyTwo },
|
||||
{ LedId.LedStripe73, SteelSeriesLedId.ZoneSeventyThree },
|
||||
{ LedId.LedStripe74, SteelSeriesLedId.ZoneSeventyFour },
|
||||
{ LedId.LedStripe75, SteelSeriesLedId.ZoneSeventyFive },
|
||||
{ LedId.LedStripe76, SteelSeriesLedId.ZoneSeventySix },
|
||||
{ LedId.LedStripe77, SteelSeriesLedId.ZoneSeventySeven },
|
||||
{ LedId.LedStripe78, SteelSeriesLedId.ZoneSeventyEight },
|
||||
{ LedId.LedStripe79, SteelSeriesLedId.ZoneSeventyNine },
|
||||
{ LedId.LedStripe80, SteelSeriesLedId.ZoneEighty },
|
||||
{ LedId.LedStripe81, SteelSeriesLedId.ZoneEightyOne },
|
||||
{ LedId.LedStripe82, SteelSeriesLedId.ZoneEightyTwo },
|
||||
{ LedId.LedStripe83, SteelSeriesLedId.ZoneEightyThree },
|
||||
{ LedId.LedStripe84, SteelSeriesLedId.ZoneEightyFour },
|
||||
{ LedId.LedStripe85, SteelSeriesLedId.ZoneEightyFive },
|
||||
{ LedId.LedStripe86, SteelSeriesLedId.ZoneEightySix },
|
||||
{ LedId.LedStripe87, SteelSeriesLedId.ZoneEightySeven },
|
||||
{ LedId.LedStripe88, SteelSeriesLedId.ZoneEightyEight },
|
||||
{ LedId.LedStripe89, SteelSeriesLedId.ZoneEightyNine },
|
||||
{ LedId.LedStripe90, SteelSeriesLedId.ZoneNinety },
|
||||
{ LedId.LedStripe91, SteelSeriesLedId.ZoneNinetyOne },
|
||||
{ LedId.LedStripe92, SteelSeriesLedId.ZoneNinetyTwo },
|
||||
{ LedId.LedStripe93, SteelSeriesLedId.ZoneNinetyThree },
|
||||
{ LedId.LedStripe94, SteelSeriesLedId.ZoneNinetyFour },
|
||||
{ LedId.LedStripe95, SteelSeriesLedId.ZoneNinetyFive },
|
||||
{ LedId.LedStripe96, SteelSeriesLedId.ZoneNinetySix },
|
||||
{ LedId.LedStripe97, SteelSeriesLedId.ZoneNinetySeven },
|
||||
{ LedId.LedStripe98, SteelSeriesLedId.ZoneNinetyEight },
|
||||
{ LedId.LedStripe99, SteelSeriesLedId.ZoneNinetyNine },
|
||||
{ LedId.LedStripe100, SteelSeriesLedId.ZoneOneHundred },
|
||||
{ LedId.LedStripe101, SteelSeriesLedId.ZoneOneHundredOne },
|
||||
{ LedId.LedStripe102, SteelSeriesLedId.ZoneOneHundredTwo },
|
||||
{ LedId.LedStripe103, SteelSeriesLedId.ZoneOneHundredThree }
|
||||
};
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets the mapping for 103-zone led strip devices (monitor).
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MonitorOnehundredandthreeZone { get; } = new()
|
||||
{
|
||||
{ LedId.LedStripe1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.LedStripe2, SteelSeriesLedId.ZoneTwo },
|
||||
{ LedId.LedStripe3, SteelSeriesLedId.ZoneThree },
|
||||
{ LedId.LedStripe4, SteelSeriesLedId.ZoneFour },
|
||||
{ LedId.LedStripe5, SteelSeriesLedId.ZoneFive },
|
||||
{ LedId.LedStripe6, SteelSeriesLedId.ZoneSix },
|
||||
{ LedId.LedStripe7, SteelSeriesLedId.ZoneSeven },
|
||||
{ LedId.LedStripe8, SteelSeriesLedId.ZoneEight },
|
||||
{ LedId.LedStripe9, SteelSeriesLedId.ZoneNine },
|
||||
{ LedId.LedStripe10, SteelSeriesLedId.ZoneTen },
|
||||
{ LedId.LedStripe11, SteelSeriesLedId.ZoneEleven },
|
||||
{ LedId.LedStripe12, SteelSeriesLedId.ZoneTwelve },
|
||||
{ LedId.LedStripe13, SteelSeriesLedId.ZoneThirteen },
|
||||
{ LedId.LedStripe14, SteelSeriesLedId.ZoneFourteen },
|
||||
{ LedId.LedStripe15, SteelSeriesLedId.ZoneFifteen },
|
||||
{ LedId.LedStripe16, SteelSeriesLedId.ZoneSixteen },
|
||||
{ LedId.LedStripe17, SteelSeriesLedId.ZoneSeventeen },
|
||||
{ LedId.LedStripe18, SteelSeriesLedId.ZoneEighteen },
|
||||
{ LedId.LedStripe19, SteelSeriesLedId.ZoneNineteen },
|
||||
{ LedId.LedStripe20, SteelSeriesLedId.ZoneTwenty },
|
||||
{ LedId.LedStripe21, SteelSeriesLedId.ZoneTwentyOne },
|
||||
{ LedId.LedStripe22, SteelSeriesLedId.ZoneTwentyTwo },
|
||||
{ LedId.LedStripe23, SteelSeriesLedId.ZoneTwentyThree },
|
||||
{ LedId.LedStripe24, SteelSeriesLedId.ZoneTwentyFour },
|
||||
{ LedId.LedStripe25, SteelSeriesLedId.ZoneTwentyFive },
|
||||
{ LedId.LedStripe26, SteelSeriesLedId.ZoneTwentySix },
|
||||
{ LedId.LedStripe27, SteelSeriesLedId.ZoneTwentySeven },
|
||||
{ LedId.LedStripe28, SteelSeriesLedId.ZoneTwentyEight },
|
||||
{ LedId.LedStripe29, SteelSeriesLedId.ZoneTwentyNine },
|
||||
{ LedId.LedStripe30, SteelSeriesLedId.ZoneThirty },
|
||||
{ LedId.LedStripe31, SteelSeriesLedId.ZoneThirtyOne },
|
||||
{ LedId.LedStripe32, SteelSeriesLedId.ZoneThirtyTwo },
|
||||
{ LedId.LedStripe33, SteelSeriesLedId.ZoneThirtyThree },
|
||||
{ LedId.LedStripe34, SteelSeriesLedId.ZoneThirtyFour },
|
||||
{ LedId.LedStripe35, SteelSeriesLedId.ZoneThirtyFive },
|
||||
{ LedId.LedStripe36, SteelSeriesLedId.ZoneThirtySix },
|
||||
{ LedId.LedStripe37, SteelSeriesLedId.ZoneThirtySeven },
|
||||
{ LedId.LedStripe38, SteelSeriesLedId.ZoneThirtyEight },
|
||||
{ LedId.LedStripe39, SteelSeriesLedId.ZoneThirtyNine },
|
||||
{ LedId.LedStripe40, SteelSeriesLedId.ZoneForty },
|
||||
{ LedId.LedStripe41, SteelSeriesLedId.ZoneFortyOne },
|
||||
{ LedId.LedStripe42, SteelSeriesLedId.ZoneFortyTwo },
|
||||
{ LedId.LedStripe43, SteelSeriesLedId.ZoneFortyThree },
|
||||
{ LedId.LedStripe44, SteelSeriesLedId.ZoneFortyFour },
|
||||
{ LedId.LedStripe45, SteelSeriesLedId.ZoneFortyFive },
|
||||
{ LedId.LedStripe46, SteelSeriesLedId.ZoneFortySix },
|
||||
{ LedId.LedStripe47, SteelSeriesLedId.ZoneFortySeven },
|
||||
{ LedId.LedStripe48, SteelSeriesLedId.ZoneFortyEight },
|
||||
{ LedId.LedStripe49, SteelSeriesLedId.ZoneFortyNine },
|
||||
{ LedId.LedStripe50, SteelSeriesLedId.ZoneFifty },
|
||||
{ LedId.LedStripe51, SteelSeriesLedId.ZoneFiftyOne },
|
||||
{ LedId.LedStripe52, SteelSeriesLedId.ZoneFiftyTwo },
|
||||
{ LedId.LedStripe53, SteelSeriesLedId.ZoneFiftyThree },
|
||||
{ LedId.LedStripe54, SteelSeriesLedId.ZoneFiftyFour },
|
||||
{ LedId.LedStripe55, SteelSeriesLedId.ZoneFiftyFive },
|
||||
{ LedId.LedStripe56, SteelSeriesLedId.ZoneFiftySix },
|
||||
{ LedId.LedStripe57, SteelSeriesLedId.ZoneFiftySeven },
|
||||
{ LedId.LedStripe58, SteelSeriesLedId.ZoneFiftyEight },
|
||||
{ LedId.LedStripe59, SteelSeriesLedId.ZoneFiftyNine },
|
||||
{ LedId.LedStripe60, SteelSeriesLedId.ZoneSixty },
|
||||
{ LedId.LedStripe61, SteelSeriesLedId.ZoneSixtyOne },
|
||||
{ LedId.LedStripe62, SteelSeriesLedId.ZoneSixtyTwo },
|
||||
{ LedId.LedStripe63, SteelSeriesLedId.ZoneSixtyThree },
|
||||
{ LedId.LedStripe64, SteelSeriesLedId.ZoneSixtyFour },
|
||||
{ LedId.LedStripe65, SteelSeriesLedId.ZoneSixtyFive },
|
||||
{ LedId.LedStripe66, SteelSeriesLedId.ZoneSixtySix },
|
||||
{ LedId.LedStripe67, SteelSeriesLedId.ZoneSixtySeven },
|
||||
{ LedId.LedStripe68, SteelSeriesLedId.ZoneSixtyEight },
|
||||
{ LedId.LedStripe69, SteelSeriesLedId.ZoneSixtyNine },
|
||||
{ LedId.LedStripe70, SteelSeriesLedId.ZoneSeventy },
|
||||
{ LedId.LedStripe71, SteelSeriesLedId.ZoneSeventyOne },
|
||||
{ LedId.LedStripe72, SteelSeriesLedId.ZoneSeventyTwo },
|
||||
{ LedId.LedStripe73, SteelSeriesLedId.ZoneSeventyThree },
|
||||
{ LedId.LedStripe74, SteelSeriesLedId.ZoneSeventyFour },
|
||||
{ LedId.LedStripe75, SteelSeriesLedId.ZoneSeventyFive },
|
||||
{ LedId.LedStripe76, SteelSeriesLedId.ZoneSeventySix },
|
||||
{ LedId.LedStripe77, SteelSeriesLedId.ZoneSeventySeven },
|
||||
{ LedId.LedStripe78, SteelSeriesLedId.ZoneSeventyEight },
|
||||
{ LedId.LedStripe79, SteelSeriesLedId.ZoneSeventyNine },
|
||||
{ LedId.LedStripe80, SteelSeriesLedId.ZoneEighty },
|
||||
{ LedId.LedStripe81, SteelSeriesLedId.ZoneEightyOne },
|
||||
{ LedId.LedStripe82, SteelSeriesLedId.ZoneEightyTwo },
|
||||
{ LedId.LedStripe83, SteelSeriesLedId.ZoneEightyThree },
|
||||
{ LedId.LedStripe84, SteelSeriesLedId.ZoneEightyFour },
|
||||
{ LedId.LedStripe85, SteelSeriesLedId.ZoneEightyFive },
|
||||
{ LedId.LedStripe86, SteelSeriesLedId.ZoneEightySix },
|
||||
{ LedId.LedStripe87, SteelSeriesLedId.ZoneEightySeven },
|
||||
{ LedId.LedStripe88, SteelSeriesLedId.ZoneEightyEight },
|
||||
{ LedId.LedStripe89, SteelSeriesLedId.ZoneEightyNine },
|
||||
{ LedId.LedStripe90, SteelSeriesLedId.ZoneNinety },
|
||||
{ LedId.LedStripe91, SteelSeriesLedId.ZoneNinetyOne },
|
||||
{ LedId.LedStripe92, SteelSeriesLedId.ZoneNinetyTwo },
|
||||
{ LedId.LedStripe93, SteelSeriesLedId.ZoneNinetyThree },
|
||||
{ LedId.LedStripe94, SteelSeriesLedId.ZoneNinetyFour },
|
||||
{ LedId.LedStripe95, SteelSeriesLedId.ZoneNinetyFive },
|
||||
{ LedId.LedStripe96, SteelSeriesLedId.ZoneNinetySix },
|
||||
{ LedId.LedStripe97, SteelSeriesLedId.ZoneNinetySeven },
|
||||
{ LedId.LedStripe98, SteelSeriesLedId.ZoneNinetyEight },
|
||||
{ LedId.LedStripe99, SteelSeriesLedId.ZoneNinetyNine },
|
||||
{ LedId.LedStripe100, SteelSeriesLedId.ZoneOneHundred },
|
||||
{ LedId.LedStripe101, SteelSeriesLedId.ZoneOneHundredOne },
|
||||
{ LedId.LedStripe102, SteelSeriesLedId.ZoneOneHundredTwo },
|
||||
{ LedId.LedStripe103, SteelSeriesLedId.ZoneOneHundredThree }
|
||||
};
|
||||
}
|
||||
@@ -4,49 +4,48 @@ using RGB.NET.Core;
|
||||
using RGB.NET.Devices.SteelSeries.API;
|
||||
using RGB.NET.Devices.SteelSeries.Helper;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Represents the update-queue performing updates for steelseries devices.
|
||||
/// </summary>
|
||||
internal class SteelSeriesDeviceUpdateQueue : UpdateQueue
|
||||
{
|
||||
/// <inheritdoc />
|
||||
#region Properties & Fields
|
||||
|
||||
private string _deviceType;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Represents the update-queue performing updates for steelseries devices.
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceUpdateQueue"/> class.
|
||||
/// </summary>
|
||||
internal class SteelSeriesDeviceUpdateQueue : UpdateQueue
|
||||
/// <param name="updateTrigger">The update trigger used by this queue.</param>
|
||||
/// <param name="deviceType">The device type used to identify the device.</param>
|
||||
public SteelSeriesDeviceUpdateQueue(IDeviceUpdateTrigger updateTrigger, string deviceType)
|
||||
: base(updateTrigger)
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
private string _deviceType;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceUpdateQueue"/> class.
|
||||
/// </summary>
|
||||
/// <param name="updateTrigger">The update trigger used by this queue.</param>
|
||||
/// <param name="deviceType">The device type used to identify the device.</param>
|
||||
public SteelSeriesDeviceUpdateQueue(IDeviceUpdateTrigger updateTrigger, string deviceType)
|
||||
: base(updateTrigger)
|
||||
{
|
||||
this._deviceType = deviceType;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
protected override void OnUpdate(object? sender, CustomUpdateData customData)
|
||||
{
|
||||
if (customData["refresh"] as bool? ?? false)
|
||||
SteelSeriesSDK.SendHeartbeat();
|
||||
else
|
||||
base.OnUpdate(sender, customData);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Update(in ReadOnlySpan<(object key, Color color)> dataSet)
|
||||
=> SteelSeriesSDK.UpdateLeds(_deviceType, dataSet.ToArray().Select(x => (((SteelSeriesLedId)x.key).GetAPIName(), x.color.ToIntArray())).Where(x => x.Item1 != null).ToList()!);
|
||||
|
||||
#endregion
|
||||
this._deviceType = deviceType;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
protected override void OnUpdate(object? sender, CustomUpdateData customData)
|
||||
{
|
||||
if (customData["refresh"] as bool? ?? false)
|
||||
SteelSeriesSDK.SendHeartbeat();
|
||||
else
|
||||
base.OnUpdate(sender, customData);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Update(in ReadOnlySpan<(object key, Color color)> dataSet)
|
||||
=> SteelSeriesSDK.UpdateLeds(_deviceType, dataSet.ToArray().Select(x => (((SteelSeriesLedId)x.key).GetAPIName(), x.color.ToIntArray())).Where(x => x.Item1 != null).ToList()!);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -5,78 +5,77 @@ using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <summary>
|
||||
/// Represents an update-trigger used to update SteelSeries devices
|
||||
/// </summary>
|
||||
public class SteelSeriesDeviceUpdateTrigger : DeviceUpdateTrigger
|
||||
{
|
||||
#region Constants
|
||||
|
||||
private const long FLUSH_TIMER = 5 * 1000 * TimeSpan.TicksPerMillisecond; // flush the device every 5 seconds to prevent timeouts
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties & Fields
|
||||
|
||||
private long _lastUpdateTimestamp;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Represents an update-trigger used to update SteelSeries devices
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceUpdateTrigger"/> class.
|
||||
/// </summary>
|
||||
public class SteelSeriesDeviceUpdateTrigger : DeviceUpdateTrigger
|
||||
public SteelSeriesDeviceUpdateTrigger()
|
||||
{ }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceUpdateTrigger"/> class.
|
||||
/// </summary>
|
||||
/// <param name="updateRateHardLimit">The hard limit of the update rate of this trigger.</param>
|
||||
public SteelSeriesDeviceUpdateTrigger(double updateRateHardLimit)
|
||||
: base(updateRateHardLimit)
|
||||
{ }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UpdateLoop()
|
||||
{
|
||||
#region Constants
|
||||
OnStartup();
|
||||
|
||||
private const long FLUSH_TIMER = 5 * 1000 * TimeSpan.TicksPerMillisecond; // flush the device every 5 seconds to prevent timeouts
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties & Fields
|
||||
|
||||
private long _lastUpdateTimestamp;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceUpdateTrigger"/> class.
|
||||
/// </summary>
|
||||
public SteelSeriesDeviceUpdateTrigger()
|
||||
{ }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceUpdateTrigger"/> class.
|
||||
/// </summary>
|
||||
/// <param name="updateRateHardLimit">The hard limit of the update rate of this trigger.</param>
|
||||
public SteelSeriesDeviceUpdateTrigger(double updateRateHardLimit)
|
||||
: base(updateRateHardLimit)
|
||||
{ }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UpdateLoop()
|
||||
while (!UpdateToken.IsCancellationRequested)
|
||||
{
|
||||
OnStartup();
|
||||
|
||||
while (!UpdateToken.IsCancellationRequested)
|
||||
if (HasDataEvent.WaitOne(Timeout))
|
||||
{
|
||||
if (HasDataEvent.WaitOne(Timeout))
|
||||
long preUpdateTicks = Stopwatch.GetTimestamp();
|
||||
|
||||
OnUpdate();
|
||||
|
||||
if (UpdateFrequency > 0)
|
||||
{
|
||||
long preUpdateTicks = Stopwatch.GetTimestamp();
|
||||
|
||||
OnUpdate();
|
||||
|
||||
if (UpdateFrequency > 0)
|
||||
{
|
||||
double lastUpdateTime = ((_lastUpdateTimestamp - preUpdateTicks) / (double)TimeSpan.TicksPerMillisecond);
|
||||
int sleep = (int)((UpdateFrequency * 1000.0) - lastUpdateTime);
|
||||
if (sleep > 0)
|
||||
Thread.Sleep(sleep);
|
||||
}
|
||||
double lastUpdateTime = ((_lastUpdateTimestamp - preUpdateTicks) / (double)TimeSpan.TicksPerMillisecond);
|
||||
int sleep = (int)((UpdateFrequency * 1000.0) - lastUpdateTime);
|
||||
if (sleep > 0)
|
||||
Thread.Sleep(sleep);
|
||||
}
|
||||
else if ((_lastUpdateTimestamp > 0) && ((Stopwatch.GetTimestamp() - _lastUpdateTimestamp) > FLUSH_TIMER))
|
||||
OnUpdate(new CustomUpdateData(("refresh", true)));
|
||||
}
|
||||
else if ((_lastUpdateTimestamp > 0) && ((Stopwatch.GetTimestamp() - _lastUpdateTimestamp) > FLUSH_TIMER))
|
||||
OnUpdate(new CustomUpdateData(("refresh", true)));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void OnUpdate(CustomUpdateData? updateData = null)
|
||||
{
|
||||
base.OnUpdate(updateData);
|
||||
_lastUpdateTimestamp = Stopwatch.GetTimestamp();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void OnUpdate(CustomUpdateData? updateData = null)
|
||||
{
|
||||
base.OnUpdate(updateData);
|
||||
_lastUpdateTimestamp = Stopwatch.GetTimestamp();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,51 +1,50 @@
|
||||
using System.Collections.Generic;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <inheritdoc cref="AbstractRGBDevice{TDeviceInfo}" />
|
||||
/// <inheritdoc cref="ISteelSeriesRGBDevice" />
|
||||
/// <summary>
|
||||
/// Represents a SteelSeries-device. (keyboard, mouse, headset, mousepad).
|
||||
/// </summary>
|
||||
public class SteelSeriesRGBDevice : AbstractRGBDevice<SteelSeriesRGBDeviceInfo>, ISteelSeriesRGBDevice, IUnknownDevice//TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
|
||||
{
|
||||
/// <inheritdoc cref="AbstractRGBDevice{TDeviceInfo}" />
|
||||
/// <inheritdoc cref="ISteelSeriesRGBDevice" />
|
||||
#region Properties & Fields
|
||||
|
||||
private readonly LedMapping<SteelSeriesLedId> _ledMapping;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Represents a SteelSeries-device. (keyboard, mouse, headset, mousepad).
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesRGBDevice"/> class.
|
||||
/// </summary>
|
||||
public class SteelSeriesRGBDevice : AbstractRGBDevice<SteelSeriesRGBDeviceInfo>, ISteelSeriesRGBDevice, IUnknownDevice//TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
|
||||
internal SteelSeriesRGBDevice(SteelSeriesRGBDeviceInfo info, string apiName, LedMapping<SteelSeriesLedId> ledMapping, IDeviceUpdateTrigger updateTrigger)
|
||||
: base(info, new SteelSeriesDeviceUpdateQueue(updateTrigger, apiName))
|
||||
{
|
||||
#region Properties & Fields
|
||||
this._ledMapping = ledMapping;
|
||||
|
||||
private readonly LedMapping<SteelSeriesLedId> _ledMapping;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesRGBDevice"/> class.
|
||||
/// </summary>
|
||||
internal SteelSeriesRGBDevice(SteelSeriesRGBDeviceInfo info, string apiName, LedMapping<SteelSeriesLedId> ledMapping, IDeviceUpdateTrigger updateTrigger)
|
||||
: base(info, new SteelSeriesDeviceUpdateQueue(updateTrigger, apiName))
|
||||
{
|
||||
this._ledMapping = ledMapping;
|
||||
|
||||
InitializeLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
private void InitializeLayout()
|
||||
{
|
||||
int counter = 0;
|
||||
foreach ((LedId ledId, _) in _ledMapping)
|
||||
AddLed(ledId, new Point((counter++) * 10, 0), new Size(10, 10));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override object GetLedCustomData(LedId ledId) => _ledMapping[ledId];
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UpdateLeds(IEnumerable<Led> ledsToUpdate) => UpdateQueue.SetData(GetUpdateData(ledsToUpdate));
|
||||
|
||||
#endregion
|
||||
InitializeLayout();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
private void InitializeLayout()
|
||||
{
|
||||
int counter = 0;
|
||||
foreach ((LedId ledId, _) in _ledMapping)
|
||||
AddLed(ledId, new Point((counter++) * 10, 0), new Size(10, 10));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override object GetLedCustomData(LedId ledId) => _ledMapping[ledId];
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UpdateLeds(IEnumerable<Led> ledsToUpdate) => UpdateQueue.SetData(GetUpdateData(ledsToUpdate));
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,54 +1,53 @@
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Represents a generic information for a SteelSeries-<see cref="T:RGB.NET.Core.IRGBDevice" />.
|
||||
/// </summary>
|
||||
public class SteelSeriesRGBDeviceInfo : IRGBDeviceInfo
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <inheritdoc />
|
||||
public RGBDeviceType DeviceType { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string DeviceName { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Manufacturer => "SteelSeries";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Model { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public object? LayoutMetadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Represents a generic information for a SteelSeries-<see cref="T:RGB.NET.Core.IRGBDevice" />.
|
||||
/// Gets the type of this device used in the SDK.
|
||||
/// </summary>
|
||||
public class SteelSeriesRGBDeviceInfo : IRGBDeviceInfo
|
||||
public SteelSeriesDeviceType SteelSeriesDeviceType { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed <see cref="SteelSeriesRGBDeviceInfo"/>.
|
||||
/// </summary>
|
||||
/// <param name="deviceType">The type of the <see cref="IRGBDevice"/>.</param>
|
||||
/// <param name="model">The represented device model.</param>
|
||||
/// <param name="steelSeriesDeviceType">The type of this device used in the SDK.</param>
|
||||
internal SteelSeriesRGBDeviceInfo(RGBDeviceType deviceType, string model, SteelSeriesDeviceType steelSeriesDeviceType)
|
||||
{
|
||||
#region Properties & Fields
|
||||
this.DeviceType = deviceType;
|
||||
this.Model = model;
|
||||
this.SteelSeriesDeviceType = steelSeriesDeviceType;
|
||||
|
||||
/// <inheritdoc />
|
||||
public RGBDeviceType DeviceType { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string DeviceName { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Manufacturer => "SteelSeries";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Model { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public object? LayoutMetadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the type of this device used in the SDK.
|
||||
/// </summary>
|
||||
public SteelSeriesDeviceType SteelSeriesDeviceType { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed <see cref="SteelSeriesRGBDeviceInfo"/>.
|
||||
/// </summary>
|
||||
/// <param name="deviceType">The type of the <see cref="IRGBDevice"/>.</param>
|
||||
/// <param name="model">The represented device model.</param>
|
||||
/// <param name="steelSeriesDeviceType">The type of this device used in the SDK.</param>
|
||||
internal SteelSeriesRGBDeviceInfo(RGBDeviceType deviceType, string model, SteelSeriesDeviceType steelSeriesDeviceType)
|
||||
{
|
||||
this.DeviceType = deviceType;
|
||||
this.Model = model;
|
||||
this.SteelSeriesDeviceType = steelSeriesDeviceType;
|
||||
|
||||
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
|
||||
}
|
||||
|
||||
#endregion
|
||||
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries.Helper
|
||||
namespace RGB.NET.Devices.SteelSeries.Helper;
|
||||
|
||||
internal static class ColorExtensions
|
||||
{
|
||||
internal static class ColorExtensions
|
||||
{
|
||||
internal static int[] ToIntArray(this Color color) => new int[] { color.GetR(), color.GetG(), color.GetB() };
|
||||
}
|
||||
}
|
||||
internal static int[] ToIntArray(this Color color) => new int[] { color.GetR(), color.GetG(), color.GetB() };
|
||||
}
|
||||
@@ -4,28 +4,28 @@ using RGB.NET.Core;
|
||||
using RGB.NET.Devices.SteelSeries.API;
|
||||
using RGB.NET.HID;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Represents a device provider responsible for SteelSeries-devices.
|
||||
/// </summary>
|
||||
public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
|
||||
{
|
||||
/// <inheritdoc />
|
||||
#region Properties & Fields
|
||||
|
||||
private static SteelSeriesDeviceProvider? _instance;
|
||||
/// <summary>
|
||||
/// Represents a device provider responsible for SteelSeries-devices.
|
||||
/// Gets the singleton <see cref="SteelSeriesDeviceProvider"/> instance.
|
||||
/// </summary>
|
||||
public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
|
||||
{
|
||||
#region Properties & Fields
|
||||
public static SteelSeriesDeviceProvider Instance => _instance ?? new SteelSeriesDeviceProvider();
|
||||
|
||||
private static SteelSeriesDeviceProvider? _instance;
|
||||
/// <summary>
|
||||
/// Gets the singleton <see cref="SteelSeriesDeviceProvider"/> instance.
|
||||
/// </summary>
|
||||
public static SteelSeriesDeviceProvider Instance => _instance ?? new SteelSeriesDeviceProvider();
|
||||
private const int VENDOR_ID = 0x1038;
|
||||
|
||||
private const int VENDOR_ID = 0x1038;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the HID-definitions for SteelSeries-devices.
|
||||
/// </summary>
|
||||
public static HIDLoader<SteelSeriesLedId, SteelSeriesDeviceType> DeviceDefinitions { get; } = new(VENDOR_ID)
|
||||
/// <summary>
|
||||
/// Gets the HID-definitions for SteelSeries-devices.
|
||||
/// </summary>
|
||||
public static HIDLoader<SteelSeriesLedId, SteelSeriesDeviceType> DeviceDefinitions { get; } = new(VENDOR_ID)
|
||||
{
|
||||
//Mice
|
||||
{ 0x1836, RGBDeviceType.Mouse, "Aerox 3", LedMappings.MouseThreeZone, SteelSeriesDeviceType.ThreeZone },
|
||||
@@ -69,64 +69,63 @@ namespace RGB.NET.Devices.SteelSeries
|
||||
{ 0x1126, RGBDeviceType.Monitor, "MGP27C", LedMappings.MonitorOnehundredandthreeZone, SteelSeriesDeviceType.OneHundredAndThreeZone },
|
||||
};
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceProvider"/> class.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">Thrown if this constructor is called even if there is already an instance of this class.</exception>
|
||||
public SteelSeriesDeviceProvider()
|
||||
{
|
||||
if (_instance != null) throw new InvalidOperationException($"There can be only one instance of type {nameof(SteelSeriesDeviceProvider)}");
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void InitializeSDK()
|
||||
{
|
||||
if (!SteelSeriesSDK.IsInitialized)
|
||||
SteelSeriesSDK.Initialize();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> GetLoadedDevices(RGBDeviceType loadFilter)
|
||||
{
|
||||
DeviceDefinitions.LoadFilter = loadFilter;
|
||||
|
||||
return base.GetLoadedDevices(loadFilter);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> LoadDevices()
|
||||
{
|
||||
foreach ((HIDDeviceDefinition<SteelSeriesLedId, SteelSeriesDeviceType> definition, _) in DeviceDefinitions.GetConnectedDevices(x => x.CustomData))
|
||||
{
|
||||
string? apiName = definition.CustomData.GetAPIName();
|
||||
if (apiName == null)
|
||||
Throw(new RGBDeviceException($"Missing API-name for device {definition.Name}"));
|
||||
else
|
||||
yield return new SteelSeriesRGBDevice(new SteelSeriesRGBDeviceInfo(definition.DeviceType, definition.Name, definition.CustomData), apiName, definition.LedMapping, GetUpdateTrigger());
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IDeviceUpdateTrigger CreateUpdateTrigger(int id, double updateRateHardLimit) => new SteelSeriesDeviceUpdateTrigger(updateRateHardLimit);
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
|
||||
try { SteelSeriesSDK.Dispose(); }
|
||||
catch { /* shit happens */ }
|
||||
}
|
||||
|
||||
#endregion
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SteelSeriesDeviceProvider"/> class.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">Thrown if this constructor is called even if there is already an instance of this class.</exception>
|
||||
public SteelSeriesDeviceProvider()
|
||||
{
|
||||
if (_instance != null) throw new InvalidOperationException($"There can be only one instance of type {nameof(SteelSeriesDeviceProvider)}");
|
||||
_instance = this;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void InitializeSDK()
|
||||
{
|
||||
if (!SteelSeriesSDK.IsInitialized)
|
||||
SteelSeriesSDK.Initialize();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> GetLoadedDevices(RGBDeviceType loadFilter)
|
||||
{
|
||||
DeviceDefinitions.LoadFilter = loadFilter;
|
||||
|
||||
return base.GetLoadedDevices(loadFilter);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> LoadDevices()
|
||||
{
|
||||
foreach ((HIDDeviceDefinition<SteelSeriesLedId, SteelSeriesDeviceType> definition, _) in DeviceDefinitions.GetConnectedDevices(x => x.CustomData))
|
||||
{
|
||||
string? apiName = definition.CustomData.GetAPIName();
|
||||
if (apiName == null)
|
||||
Throw(new RGBDeviceException($"Missing API-name for device {definition.Name}"));
|
||||
else
|
||||
yield return new SteelSeriesRGBDevice(new SteelSeriesRGBDeviceInfo(definition.DeviceType, definition.Name, definition.CustomData), apiName, definition.LedMapping, GetUpdateTrigger());
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IDeviceUpdateTrigger CreateUpdateTrigger(int id, double updateRateHardLimit) => new SteelSeriesDeviceUpdateTrigger(updateRateHardLimit);
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
|
||||
try { SteelSeriesSDK.Dispose(); }
|
||||
catch { /* shit happens */ }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in new issue
Block a user