mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-12 17:48:31 +00:00
Merge
This commit is contained in:
commit
f69560224d
@ -82,7 +82,7 @@ public class LogitechDeviceProvider : AbstractRGBDeviceProvider
|
||||
{
|
||||
{ 0xC336, RGBDeviceType.Keyboard, "G213", LedMappings.ZoneKeyboard, (LogitechDeviceType.Keyboard, 5) },
|
||||
|
||||
{ 0xC092, RGBDeviceType.Mouse, "G203 LIGHTSYNC", LedMappings.ZoneMouse, (LogitechDeviceType.Mouse, 1) },
|
||||
{ 0xC092, RGBDeviceType.Mouse, "G203 Lightsync", LedMappings.ZoneMouse, (LogitechDeviceType.Mouse, 1) },
|
||||
{ 0xC080, RGBDeviceType.Mouse, "G303", LedMappings.ZoneMouse, (LogitechDeviceType.Mouse, 2) },
|
||||
{ 0xC081, RGBDeviceType.Mouse, "G900", LedMappings.ZoneMouse, (LogitechDeviceType.Mouse, 2) },
|
||||
{ 0xC082, RGBDeviceType.Mouse, "G403", LedMappings.ZoneMouse, (LogitechDeviceType.Mouse, 2) },
|
||||
|
||||
@ -1,350 +1,500 @@
|
||||
using RGB.NET.Core;
|
||||
using RGB.NET.Devices.Razer.Native;
|
||||
|
||||
namespace RGB.NET.Devices.Razer;
|
||||
|
||||
/// <summary>
|
||||
/// Contains mappings for <see cref="LedId"/> to the matrix location.
|
||||
/// </summary>
|
||||
public static class LedMappings
|
||||
namespace RGB.NET.Devices.Razer
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the mapping for keyboards.
|
||||
/// Contains mappings for <see cref="LedId"/> to the matrix location.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Keyboard { get; } = new()
|
||||
{
|
||||
//Row 0 is empty
|
||||
public static class LedMappings
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the mapping for keyboards.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Keyboard { get; } = new()
|
||||
{
|
||||
//Row 0 is empty
|
||||
|
||||
#region Row 1
|
||||
#region Row 1
|
||||
|
||||
[LedId.Keyboard_Escape] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 2,
|
||||
[LedId.Keyboard_F1] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 4,
|
||||
[LedId.Keyboard_F2] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 5,
|
||||
[LedId.Keyboard_F3] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 6,
|
||||
[LedId.Keyboard_F4] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 7,
|
||||
[LedId.Keyboard_F5] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 8,
|
||||
[LedId.Keyboard_F6] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 9,
|
||||
[LedId.Keyboard_F7] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 10,
|
||||
[LedId.Keyboard_F8] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 11,
|
||||
[LedId.Keyboard_F9] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 12,
|
||||
[LedId.Keyboard_F10] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 13,
|
||||
[LedId.Keyboard_F11] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 14,
|
||||
[LedId.Keyboard_F12] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 15,
|
||||
[LedId.Keyboard_PrintScreen] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 16,
|
||||
[LedId.Keyboard_ScrollLock] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 17,
|
||||
[LedId.Keyboard_PauseBreak] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 18,
|
||||
[LedId.Logo] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 21,
|
||||
[LedId.Keyboard_Escape] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 2,
|
||||
[LedId.Keyboard_F1] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 4,
|
||||
[LedId.Keyboard_F2] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 5,
|
||||
[LedId.Keyboard_F3] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 6,
|
||||
[LedId.Keyboard_F4] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 7,
|
||||
[LedId.Keyboard_F5] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 8,
|
||||
[LedId.Keyboard_F6] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 9,
|
||||
[LedId.Keyboard_F7] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 10,
|
||||
[LedId.Keyboard_F8] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 11,
|
||||
[LedId.Keyboard_F9] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 12,
|
||||
[LedId.Keyboard_F10] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 13,
|
||||
[LedId.Keyboard_F11] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 14,
|
||||
[LedId.Keyboard_F12] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 15,
|
||||
[LedId.Keyboard_PrintScreen] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 16,
|
||||
[LedId.Keyboard_ScrollLock] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 17,
|
||||
[LedId.Keyboard_PauseBreak] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 18,
|
||||
[LedId.Logo] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 21,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 2
|
||||
#region Row 2
|
||||
|
||||
[LedId.Keyboard_Programmable1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 1,
|
||||
[LedId.Keyboard_GraveAccentAndTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 2,
|
||||
[LedId.Keyboard_1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Keyboard_2] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 4,
|
||||
[LedId.Keyboard_3] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 5,
|
||||
[LedId.Keyboard_4] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 6,
|
||||
[LedId.Keyboard_5] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 7,
|
||||
[LedId.Keyboard_6] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 8,
|
||||
[LedId.Keyboard_7] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 9,
|
||||
[LedId.Keyboard_8] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 10,
|
||||
[LedId.Keyboard_9] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 11,
|
||||
[LedId.Keyboard_0] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 12,
|
||||
[LedId.Keyboard_MinusAndUnderscore] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 13,
|
||||
[LedId.Keyboard_EqualsAndPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 14,
|
||||
[LedId.Keyboard_Backspace] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 15,
|
||||
[LedId.Keyboard_Insert] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 16,
|
||||
[LedId.Keyboard_Home] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 17,
|
||||
[LedId.Keyboard_PageUp] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 18,
|
||||
[LedId.Keyboard_NumLock] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 19,
|
||||
[LedId.Keyboard_NumSlash] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 20,
|
||||
[LedId.Keyboard_NumAsterisk] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 21,
|
||||
[LedId.Keyboard_NumMinus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 22,
|
||||
[LedId.Keyboard_Programmable1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 1,
|
||||
[LedId.Keyboard_GraveAccentAndTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 2,
|
||||
[LedId.Keyboard_1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Keyboard_2] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 4,
|
||||
[LedId.Keyboard_3] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 5,
|
||||
[LedId.Keyboard_4] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 6,
|
||||
[LedId.Keyboard_5] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 7,
|
||||
[LedId.Keyboard_6] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 8,
|
||||
[LedId.Keyboard_7] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 9,
|
||||
[LedId.Keyboard_8] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 10,
|
||||
[LedId.Keyboard_9] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 11,
|
||||
[LedId.Keyboard_0] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 12,
|
||||
[LedId.Keyboard_MinusAndUnderscore] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 13,
|
||||
[LedId.Keyboard_EqualsAndPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 14,
|
||||
[LedId.Keyboard_Backspace] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 15,
|
||||
[LedId.Keyboard_Insert] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 16,
|
||||
[LedId.Keyboard_Home] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 17,
|
||||
[LedId.Keyboard_PageUp] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 18,
|
||||
[LedId.Keyboard_NumLock] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 19,
|
||||
[LedId.Keyboard_NumSlash] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 20,
|
||||
[LedId.Keyboard_NumAsterisk] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 21,
|
||||
[LedId.Keyboard_NumMinus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 22,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 3
|
||||
#region Row 3
|
||||
|
||||
[LedId.Keyboard_Programmable2] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 1,
|
||||
[LedId.Keyboard_Tab] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 2,
|
||||
[LedId.Keyboard_Q] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 3,
|
||||
[LedId.Keyboard_W] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 4,
|
||||
[LedId.Keyboard_E] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 5,
|
||||
[LedId.Keyboard_R] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 6,
|
||||
[LedId.Keyboard_T] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 7,
|
||||
[LedId.Keyboard_Y] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 8,
|
||||
[LedId.Keyboard_U] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 9,
|
||||
[LedId.Keyboard_I] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 10,
|
||||
[LedId.Keyboard_O] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 11,
|
||||
[LedId.Keyboard_P] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 12,
|
||||
[LedId.Keyboard_BracketLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 13,
|
||||
[LedId.Keyboard_BracketRight] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 14,
|
||||
[LedId.Keyboard_Backslash] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 15,
|
||||
[LedId.Keyboard_Delete] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 16,
|
||||
[LedId.Keyboard_End] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 17,
|
||||
[LedId.Keyboard_PageDown] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 18,
|
||||
[LedId.Keyboard_Num7] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 19,
|
||||
[LedId.Keyboard_Num8] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 20,
|
||||
[LedId.Keyboard_Num9] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 21,
|
||||
[LedId.Keyboard_NumPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 22,
|
||||
[LedId.Keyboard_Programmable2] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 1,
|
||||
[LedId.Keyboard_Tab] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 2,
|
||||
[LedId.Keyboard_Q] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 3,
|
||||
[LedId.Keyboard_W] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 4,
|
||||
[LedId.Keyboard_E] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 5,
|
||||
[LedId.Keyboard_R] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 6,
|
||||
[LedId.Keyboard_T] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 7,
|
||||
[LedId.Keyboard_Y] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 8,
|
||||
[LedId.Keyboard_U] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 9,
|
||||
[LedId.Keyboard_I] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 10,
|
||||
[LedId.Keyboard_O] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 11,
|
||||
[LedId.Keyboard_P] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 12,
|
||||
[LedId.Keyboard_BracketLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 13,
|
||||
[LedId.Keyboard_BracketRight] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 14,
|
||||
[LedId.Keyboard_Backslash] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 15,
|
||||
[LedId.Keyboard_Delete] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 16,
|
||||
[LedId.Keyboard_End] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 17,
|
||||
[LedId.Keyboard_PageDown] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 18,
|
||||
[LedId.Keyboard_Num7] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 19,
|
||||
[LedId.Keyboard_Num8] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 20,
|
||||
[LedId.Keyboard_Num9] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 21,
|
||||
[LedId.Keyboard_NumPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 22,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 4
|
||||
#region Row 4
|
||||
|
||||
[LedId.Keyboard_Programmable3] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 1,
|
||||
[LedId.Keyboard_CapsLock] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 2,
|
||||
[LedId.Keyboard_A] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Keyboard_S] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 4,
|
||||
[LedId.Keyboard_D] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 5,
|
||||
[LedId.Keyboard_F] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 6,
|
||||
[LedId.Keyboard_G] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 7,
|
||||
[LedId.Keyboard_H] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 8,
|
||||
[LedId.Keyboard_J] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 9,
|
||||
[LedId.Keyboard_K] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 10,
|
||||
[LedId.Keyboard_L] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 11,
|
||||
[LedId.Keyboard_SemicolonAndColon] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 12,
|
||||
[LedId.Keyboard_ApostropheAndDoubleQuote] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 13,
|
||||
[LedId.Keyboard_NonUsTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 14,
|
||||
[LedId.Keyboard_Enter] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 15,
|
||||
[LedId.Keyboard_Num4] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 19,
|
||||
[LedId.Keyboard_Num5] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 20,
|
||||
[LedId.Keyboard_Num6] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 21,
|
||||
[LedId.Keyboard_Programmable3] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 1,
|
||||
[LedId.Keyboard_CapsLock] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 2,
|
||||
[LedId.Keyboard_A] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Keyboard_S] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 4,
|
||||
[LedId.Keyboard_D] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 5,
|
||||
[LedId.Keyboard_F] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 6,
|
||||
[LedId.Keyboard_G] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 7,
|
||||
[LedId.Keyboard_H] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 8,
|
||||
[LedId.Keyboard_J] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 9,
|
||||
[LedId.Keyboard_K] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 10,
|
||||
[LedId.Keyboard_L] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 11,
|
||||
[LedId.Keyboard_SemicolonAndColon] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 12,
|
||||
[LedId.Keyboard_ApostropheAndDoubleQuote] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 13,
|
||||
[LedId.Keyboard_NonUsTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 14,
|
||||
[LedId.Keyboard_Enter] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 15,
|
||||
[LedId.Keyboard_Num4] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 19,
|
||||
[LedId.Keyboard_Num5] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 20,
|
||||
[LedId.Keyboard_Num6] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 21,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 5
|
||||
#region Row 5
|
||||
|
||||
[LedId.Keyboard_Programmable4] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 1,
|
||||
[LedId.Keyboard_LeftShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 2,
|
||||
[LedId.Keyboard_NonUsBackslash] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 3,
|
||||
[LedId.Keyboard_Z] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 4,
|
||||
[LedId.Keyboard_X] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 5,
|
||||
[LedId.Keyboard_C] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 6,
|
||||
[LedId.Keyboard_V] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 7,
|
||||
[LedId.Keyboard_B] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 8,
|
||||
[LedId.Keyboard_N] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 9,
|
||||
[LedId.Keyboard_M] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 10,
|
||||
[LedId.Keyboard_CommaAndLessThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 11,
|
||||
[LedId.Keyboard_PeriodAndBiggerThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 12,
|
||||
[LedId.Keyboard_SlashAndQuestionMark] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 13,
|
||||
[LedId.Keyboard_RightShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 15,
|
||||
[LedId.Keyboard_ArrowUp] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 17,
|
||||
[LedId.Keyboard_Num1] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 19,
|
||||
[LedId.Keyboard_Num2] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 20,
|
||||
[LedId.Keyboard_Num3] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 21,
|
||||
[LedId.Keyboard_NumEnter] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 22,
|
||||
[LedId.Keyboard_Programmable4] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 1,
|
||||
[LedId.Keyboard_LeftShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 2,
|
||||
[LedId.Keyboard_NonUsBackslash] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 3,
|
||||
[LedId.Keyboard_Z] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 4,
|
||||
[LedId.Keyboard_X] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 5,
|
||||
[LedId.Keyboard_C] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 6,
|
||||
[LedId.Keyboard_V] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 7,
|
||||
[LedId.Keyboard_B] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 8,
|
||||
[LedId.Keyboard_N] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 9,
|
||||
[LedId.Keyboard_M] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 10,
|
||||
[LedId.Keyboard_CommaAndLessThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 11,
|
||||
[LedId.Keyboard_PeriodAndBiggerThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 12,
|
||||
[LedId.Keyboard_SlashAndQuestionMark] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 13,
|
||||
[LedId.Keyboard_RightShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 15,
|
||||
[LedId.Keyboard_ArrowUp] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 17,
|
||||
[LedId.Keyboard_Num1] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 19,
|
||||
[LedId.Keyboard_Num2] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 20,
|
||||
[LedId.Keyboard_Num3] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 21,
|
||||
[LedId.Keyboard_NumEnter] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 22,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 6
|
||||
#region Row 6
|
||||
|
||||
[LedId.Keyboard_Programmable5] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 1,
|
||||
[LedId.Keyboard_LeftCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 2,
|
||||
[LedId.Keyboard_LeftGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 3,
|
||||
[LedId.Keyboard_LeftAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 4,
|
||||
[LedId.Keyboard_Space] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 8,
|
||||
[LedId.Keyboard_RightAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 12,
|
||||
[LedId.Keyboard_RightGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 13,
|
||||
[LedId.Keyboard_Application] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 14,
|
||||
[LedId.Keyboard_RightCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 15,
|
||||
[LedId.Keyboard_ArrowLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 16,
|
||||
[LedId.Keyboard_ArrowDown] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 17,
|
||||
[LedId.Keyboard_ArrowRight] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 18,
|
||||
[LedId.Keyboard_Num0] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 20,
|
||||
[LedId.Keyboard_NumPeriodAndDelete] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 21,
|
||||
[LedId.Keyboard_Programmable5] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 1,
|
||||
[LedId.Keyboard_LeftCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 2,
|
||||
[LedId.Keyboard_LeftGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 3,
|
||||
[LedId.Keyboard_LeftAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 4,
|
||||
[LedId.Keyboard_Space] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 8,
|
||||
[LedId.Keyboard_RightAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 12,
|
||||
[LedId.Keyboard_RightGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 13,
|
||||
[LedId.Keyboard_Application] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 14,
|
||||
[LedId.Keyboard_RightCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 15,
|
||||
[LedId.Keyboard_ArrowLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 16,
|
||||
[LedId.Keyboard_ArrowDown] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 17,
|
||||
[LedId.Keyboard_ArrowRight] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 18,
|
||||
[LedId.Keyboard_Num0] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 20,
|
||||
[LedId.Keyboard_NumPeriodAndDelete] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 21,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
//Row 7 is also empty
|
||||
};
|
||||
//Row 7 is also empty
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for laptop keyboards.
|
||||
/// </summary>
|
||||
public static LedMapping<int> LaptopKeyboard { get; } = new()
|
||||
{
|
||||
//Row 0 is empty
|
||||
/// <summary>
|
||||
/// Gets the mapping for laptop keyboards.
|
||||
/// </summary>
|
||||
public static LedMapping<int> LaptopKeyboard { get; } = new()
|
||||
{
|
||||
//Row 0 is empty
|
||||
|
||||
#region Row 1
|
||||
#region Row 1
|
||||
|
||||
[LedId.Keyboard_Escape] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 1,
|
||||
[LedId.Keyboard_F1] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 2,
|
||||
[LedId.Keyboard_F2] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 3,
|
||||
[LedId.Keyboard_F3] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 4,
|
||||
[LedId.Keyboard_F4] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 5,
|
||||
[LedId.Keyboard_F5] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 6,
|
||||
[LedId.Keyboard_F6] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 7,
|
||||
[LedId.Keyboard_F7] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 8,
|
||||
[LedId.Keyboard_F8] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 9,
|
||||
[LedId.Keyboard_F9] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 10,
|
||||
[LedId.Keyboard_F10] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 11,
|
||||
[LedId.Keyboard_F11] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 12,
|
||||
[LedId.Keyboard_F12] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 13,
|
||||
[LedId.Keyboard_Insert] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 14,
|
||||
[LedId.Keyboard_Delete] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 15,
|
||||
[LedId.Keyboard_Escape] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 1,
|
||||
[LedId.Keyboard_F1] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 2,
|
||||
[LedId.Keyboard_F2] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 3,
|
||||
[LedId.Keyboard_F3] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 4,
|
||||
[LedId.Keyboard_F4] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 5,
|
||||
[LedId.Keyboard_F5] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 6,
|
||||
[LedId.Keyboard_F6] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 7,
|
||||
[LedId.Keyboard_F7] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 8,
|
||||
[LedId.Keyboard_F8] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 9,
|
||||
[LedId.Keyboard_F9] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 10,
|
||||
[LedId.Keyboard_F10] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 11,
|
||||
[LedId.Keyboard_F11] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 12,
|
||||
[LedId.Keyboard_F12] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 13,
|
||||
[LedId.Keyboard_Insert] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 14,
|
||||
[LedId.Keyboard_Delete] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 15,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 2
|
||||
#region Row 2
|
||||
|
||||
[LedId.Keyboard_GraveAccentAndTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 1,
|
||||
[LedId.Keyboard_1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 2,
|
||||
[LedId.Keyboard_2] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Keyboard_3] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 4,
|
||||
[LedId.Keyboard_4] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 5,
|
||||
[LedId.Keyboard_5] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 6,
|
||||
[LedId.Keyboard_6] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 7,
|
||||
[LedId.Keyboard_7] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 8,
|
||||
[LedId.Keyboard_8] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 9,
|
||||
[LedId.Keyboard_9] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 10,
|
||||
[LedId.Keyboard_0] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 11,
|
||||
[LedId.Keyboard_MinusAndUnderscore] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 12,
|
||||
[LedId.Keyboard_EqualsAndPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 13,
|
||||
[LedId.Keyboard_Backspace] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 14,
|
||||
[LedId.Keyboard_GraveAccentAndTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 1,
|
||||
[LedId.Keyboard_1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 2,
|
||||
[LedId.Keyboard_2] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Keyboard_3] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 4,
|
||||
[LedId.Keyboard_4] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 5,
|
||||
[LedId.Keyboard_5] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 6,
|
||||
[LedId.Keyboard_6] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 7,
|
||||
[LedId.Keyboard_7] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 8,
|
||||
[LedId.Keyboard_8] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 9,
|
||||
[LedId.Keyboard_9] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 10,
|
||||
[LedId.Keyboard_0] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 11,
|
||||
[LedId.Keyboard_MinusAndUnderscore] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 12,
|
||||
[LedId.Keyboard_EqualsAndPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 13,
|
||||
[LedId.Keyboard_Backspace] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 14,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 3
|
||||
#region Row 3
|
||||
|
||||
[LedId.Keyboard_Tab] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 2,
|
||||
[LedId.Keyboard_Q] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 3,
|
||||
[LedId.Keyboard_W] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 4,
|
||||
[LedId.Keyboard_E] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 5,
|
||||
[LedId.Keyboard_R] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 6,
|
||||
[LedId.Keyboard_T] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 7,
|
||||
[LedId.Keyboard_Y] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 8,
|
||||
[LedId.Keyboard_U] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 9,
|
||||
[LedId.Keyboard_I] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 10,
|
||||
[LedId.Keyboard_O] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 11,
|
||||
[LedId.Keyboard_P] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 12,
|
||||
[LedId.Keyboard_BracketLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 13,
|
||||
[LedId.Keyboard_BracketRight] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 14,
|
||||
[LedId.Keyboard_Backslash] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 15,
|
||||
[LedId.Keyboard_Tab] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 2,
|
||||
[LedId.Keyboard_Q] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 3,
|
||||
[LedId.Keyboard_W] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 4,
|
||||
[LedId.Keyboard_E] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 5,
|
||||
[LedId.Keyboard_R] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 6,
|
||||
[LedId.Keyboard_T] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 7,
|
||||
[LedId.Keyboard_Y] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 8,
|
||||
[LedId.Keyboard_U] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 9,
|
||||
[LedId.Keyboard_I] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 10,
|
||||
[LedId.Keyboard_O] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 11,
|
||||
[LedId.Keyboard_P] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 12,
|
||||
[LedId.Keyboard_BracketLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 13,
|
||||
[LedId.Keyboard_BracketRight] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 14,
|
||||
[LedId.Keyboard_Backslash] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 15,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 4
|
||||
#region Row 4
|
||||
|
||||
[LedId.Keyboard_CapsLock] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 1,
|
||||
[LedId.Keyboard_A] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Keyboard_S] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 4,
|
||||
[LedId.Keyboard_D] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 5,
|
||||
[LedId.Keyboard_F] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 6,
|
||||
[LedId.Keyboard_G] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 7,
|
||||
[LedId.Keyboard_H] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 8,
|
||||
[LedId.Keyboard_J] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 9,
|
||||
[LedId.Keyboard_K] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 10,
|
||||
[LedId.Keyboard_L] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 11,
|
||||
[LedId.Keyboard_SemicolonAndColon] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 12,
|
||||
[LedId.Keyboard_ApostropheAndDoubleQuote] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 13,
|
||||
//[LedId.Keyboard_NonUsTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 14, //TODO diogotr7 15.04.2021: investigate
|
||||
[LedId.Keyboard_Enter] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 16,
|
||||
[LedId.Keyboard_CapsLock] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 1,
|
||||
[LedId.Keyboard_A] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Keyboard_S] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 4,
|
||||
[LedId.Keyboard_D] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 5,
|
||||
[LedId.Keyboard_F] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 6,
|
||||
[LedId.Keyboard_G] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 7,
|
||||
[LedId.Keyboard_H] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 8,
|
||||
[LedId.Keyboard_J] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 9,
|
||||
[LedId.Keyboard_K] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 10,
|
||||
[LedId.Keyboard_L] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 11,
|
||||
[LedId.Keyboard_SemicolonAndColon] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 12,
|
||||
[LedId.Keyboard_ApostropheAndDoubleQuote] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 13,
|
||||
//[LedId.Keyboard_NonUsTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 14, //TODO diogotr7 15.04.2021: investigate
|
||||
[LedId.Keyboard_Enter] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 16,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 5
|
||||
#region Row 5
|
||||
|
||||
[LedId.Keyboard_LeftShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 2,
|
||||
[LedId.Keyboard_Z] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 3,
|
||||
[LedId.Keyboard_X] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 4,
|
||||
[LedId.Keyboard_C] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 5,
|
||||
[LedId.Keyboard_V] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 6,
|
||||
[LedId.Keyboard_B] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 7,
|
||||
[LedId.Keyboard_N] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 8,
|
||||
[LedId.Keyboard_M] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 9,
|
||||
[LedId.Keyboard_CommaAndLessThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 10,
|
||||
[LedId.Keyboard_PeriodAndBiggerThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 11,
|
||||
[LedId.Keyboard_SlashAndQuestionMark] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 12,
|
||||
[LedId.Keyboard_ArrowUp] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 13,
|
||||
[LedId.Keyboard_RightShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 14,
|
||||
[LedId.Keyboard_LeftShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 2,
|
||||
[LedId.Keyboard_Z] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 3,
|
||||
[LedId.Keyboard_X] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 4,
|
||||
[LedId.Keyboard_C] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 5,
|
||||
[LedId.Keyboard_V] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 6,
|
||||
[LedId.Keyboard_B] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 7,
|
||||
[LedId.Keyboard_N] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 8,
|
||||
[LedId.Keyboard_M] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 9,
|
||||
[LedId.Keyboard_CommaAndLessThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 10,
|
||||
[LedId.Keyboard_PeriodAndBiggerThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 11,
|
||||
[LedId.Keyboard_SlashAndQuestionMark] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 12,
|
||||
[LedId.Keyboard_ArrowUp] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 13,
|
||||
[LedId.Keyboard_RightShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 14,
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Row 6
|
||||
#region Row 6
|
||||
|
||||
[LedId.Keyboard_LeftCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 1,
|
||||
[LedId.Keyboard_Custom1] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 2,//left fn
|
||||
[LedId.Keyboard_LeftGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 3,
|
||||
[LedId.Keyboard_LeftAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 4,
|
||||
[LedId.Keyboard_Space] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 7,
|
||||
[LedId.Keyboard_RightAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 10,
|
||||
[LedId.Keyboard_RightCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 11,
|
||||
[LedId.Keyboard_ArrowLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 12,
|
||||
[LedId.Keyboard_ArrowDown] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 13,
|
||||
[LedId.Keyboard_ArrowRight] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 14,
|
||||
[LedId.Keyboard_Custom2] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 15,//right fn
|
||||
[LedId.Keyboard_LeftCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 1,
|
||||
[LedId.Keyboard_Custom1] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 2,//left fn
|
||||
[LedId.Keyboard_LeftGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 3,
|
||||
[LedId.Keyboard_LeftAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 4,
|
||||
[LedId.Keyboard_Space] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 7,
|
||||
[LedId.Keyboard_RightAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 10,
|
||||
[LedId.Keyboard_RightCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 11,
|
||||
[LedId.Keyboard_ArrowLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 12,
|
||||
[LedId.Keyboard_ArrowDown] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 13,
|
||||
[LedId.Keyboard_ArrowRight] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 14,
|
||||
[LedId.Keyboard_Custom2] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 15,//right fn
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
//Row 7 is also empty
|
||||
};
|
||||
//Row 7 is also empty
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for mice.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Mouse { get; } = new()
|
||||
{
|
||||
//row 0 empty
|
||||
public static readonly LedMapping<int> KeyboardBlackWidowV3 = new()
|
||||
{
|
||||
//Row 0 is empty
|
||||
|
||||
//row 1
|
||||
[LedId.Mouse1] = (_Defines.MOUSE_MAX_COLUMN * 1) + 0,
|
||||
[LedId.Mouse2] = (_Defines.MOUSE_MAX_COLUMN * 1) + 6,
|
||||
#region Row 1
|
||||
|
||||
//row 2
|
||||
[LedId.Mouse3] = (_Defines.MOUSE_MAX_COLUMN * 2) + 0,
|
||||
[LedId.Mouse4] = (_Defines.MOUSE_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Mouse5] = (_Defines.MOUSE_MAX_COLUMN * 2) + 6,
|
||||
[LedId.Keyboard_Escape] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 2,
|
||||
[LedId.Keyboard_F1] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 4,
|
||||
[LedId.Keyboard_F2] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 5,
|
||||
[LedId.Keyboard_F3] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 6,
|
||||
[LedId.Keyboard_F4] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 7,
|
||||
[LedId.Keyboard_F5] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 8,
|
||||
[LedId.Keyboard_F6] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 9,
|
||||
[LedId.Keyboard_F7] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 10,
|
||||
[LedId.Keyboard_F8] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 11,
|
||||
[LedId.Keyboard_F9] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 12,
|
||||
[LedId.Keyboard_F10] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 13,
|
||||
[LedId.Keyboard_F11] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 14,
|
||||
[LedId.Keyboard_F12] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 15,
|
||||
[LedId.Keyboard_PrintScreen] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 16,
|
||||
[LedId.Keyboard_ScrollLock] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 17,
|
||||
[LedId.Keyboard_PauseBreak] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 18,
|
||||
[LedId.Logo] = (_Defines.KEYBOARD_MAX_COLUMN * 1) + 21,
|
||||
|
||||
//row 3
|
||||
[LedId.Mouse6] = (_Defines.MOUSE_MAX_COLUMN * 3) + 0,
|
||||
[LedId.Mouse7] = (_Defines.MOUSE_MAX_COLUMN * 3) + 6,
|
||||
#endregion
|
||||
|
||||
//row 4
|
||||
[LedId.Mouse8] = (_Defines.MOUSE_MAX_COLUMN * 4) + 0,
|
||||
[LedId.Mouse9] = (_Defines.MOUSE_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Mouse10] = (_Defines.MOUSE_MAX_COLUMN * 4) + 6,
|
||||
#region Row 2
|
||||
|
||||
//row 5
|
||||
[LedId.Mouse11] = (_Defines.MOUSE_MAX_COLUMN * 5) + 0,
|
||||
[LedId.Mouse12] = (_Defines.MOUSE_MAX_COLUMN * 5) + 6,
|
||||
[LedId.Keyboard_Programmable1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 1,
|
||||
[LedId.Keyboard_GraveAccentAndTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 2,
|
||||
[LedId.Keyboard_1] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Keyboard_2] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 4,
|
||||
[LedId.Keyboard_3] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 5,
|
||||
[LedId.Keyboard_4] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 6,
|
||||
[LedId.Keyboard_5] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 7,
|
||||
[LedId.Keyboard_6] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 8,
|
||||
[LedId.Keyboard_7] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 9,
|
||||
[LedId.Keyboard_8] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 10,
|
||||
[LedId.Keyboard_9] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 11,
|
||||
[LedId.Keyboard_0] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 12,
|
||||
[LedId.Keyboard_MinusAndUnderscore] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 13,
|
||||
[LedId.Keyboard_EqualsAndPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 14,
|
||||
[LedId.Keyboard_Backspace] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 15,
|
||||
[LedId.Keyboard_Insert] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 16,
|
||||
[LedId.Keyboard_Home] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 17,
|
||||
[LedId.Keyboard_PageUp] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 18,
|
||||
[LedId.Keyboard_NumLock] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 19,
|
||||
[LedId.Keyboard_NumSlash] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 20,
|
||||
[LedId.Keyboard_NumAsterisk] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 21,
|
||||
[LedId.Keyboard_NumMinus] = (_Defines.KEYBOARD_MAX_COLUMN * 2) + 22,
|
||||
|
||||
//row 6
|
||||
[LedId.Mouse13] = (_Defines.MOUSE_MAX_COLUMN * 6) + 0,
|
||||
[LedId.Mouse14] = (_Defines.MOUSE_MAX_COLUMN * 6) + 6,
|
||||
#endregion
|
||||
|
||||
//row 7
|
||||
[LedId.Mouse15] = (_Defines.MOUSE_MAX_COLUMN * 7) + 0,
|
||||
[LedId.Mouse16] = (_Defines.MOUSE_MAX_COLUMN * 7) + 3,
|
||||
[LedId.Mouse17] = (_Defines.MOUSE_MAX_COLUMN * 7) + 6,
|
||||
#region Row 3
|
||||
|
||||
//row 8
|
||||
[LedId.Mouse18] = (_Defines.MOUSE_MAX_COLUMN * 8) + 1,
|
||||
[LedId.Mouse19] = (_Defines.MOUSE_MAX_COLUMN * 8) + 2,
|
||||
[LedId.Mouse20] = (_Defines.MOUSE_MAX_COLUMN * 8) + 3,
|
||||
[LedId.Mouse21] = (_Defines.MOUSE_MAX_COLUMN * 8) + 4,
|
||||
[LedId.Mouse22] = (_Defines.MOUSE_MAX_COLUMN * 8) + 5,
|
||||
};
|
||||
[LedId.Keyboard_Programmable2] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 1,
|
||||
[LedId.Keyboard_Tab] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 2,
|
||||
[LedId.Keyboard_Q] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 3,
|
||||
[LedId.Keyboard_W] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 4,
|
||||
[LedId.Keyboard_E] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 5,
|
||||
[LedId.Keyboard_R] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 6,
|
||||
[LedId.Keyboard_T] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 7,
|
||||
[LedId.Keyboard_Y] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 8,
|
||||
[LedId.Keyboard_U] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 9,
|
||||
[LedId.Keyboard_I] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 10,
|
||||
[LedId.Keyboard_O] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 11,
|
||||
[LedId.Keyboard_P] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 12,
|
||||
[LedId.Keyboard_BracketLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 13,
|
||||
[LedId.Keyboard_BracketRight] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 14,
|
||||
[LedId.Keyboard_Backslash] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 15,
|
||||
[LedId.Keyboard_Delete] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 16,
|
||||
[LedId.Keyboard_End] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 17,
|
||||
[LedId.Keyboard_PageDown] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 18,
|
||||
[LedId.Keyboard_Num7] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 19,
|
||||
[LedId.Keyboard_Num8] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 20,
|
||||
[LedId.Keyboard_Num9] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 21,
|
||||
[LedId.Keyboard_NumPlus] = (_Defines.KEYBOARD_MAX_COLUMN * 3) + 22,
|
||||
|
||||
//TODO DarthAffe 27.04.2021: Are mappings for these possible?
|
||||
/// <summary>
|
||||
/// Gets the mapping for mousepads.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Mousepad { get; } = new();
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for headsets.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Headset { get; } = new();
|
||||
#region Row 4
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for keypads.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Keypad { get; } = new();
|
||||
[LedId.Keyboard_Programmable3] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 1,
|
||||
[LedId.Keyboard_CapsLock] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 2,
|
||||
[LedId.Keyboard_A] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Keyboard_S] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 4,
|
||||
[LedId.Keyboard_D] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 5,
|
||||
[LedId.Keyboard_F] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 6,
|
||||
[LedId.Keyboard_G] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 7,
|
||||
[LedId.Keyboard_H] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 8,
|
||||
[LedId.Keyboard_J] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 9,
|
||||
[LedId.Keyboard_K] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 10,
|
||||
[LedId.Keyboard_L] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 11,
|
||||
[LedId.Keyboard_SemicolonAndColon] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 12,
|
||||
[LedId.Keyboard_ApostropheAndDoubleQuote] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 13,
|
||||
[LedId.Keyboard_NonUsTilde] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 14,
|
||||
[LedId.Keyboard_Enter] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 15,
|
||||
[LedId.Keyboard_Num4] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 19,
|
||||
[LedId.Keyboard_Num5] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 20,
|
||||
[LedId.Keyboard_Num6] = (_Defines.KEYBOARD_MAX_COLUMN * 4) + 21,
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for chroma link devices.
|
||||
/// </summary>
|
||||
public static LedMapping<int> ChromaLink { get; } = new();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Row 5
|
||||
|
||||
[LedId.Keyboard_Programmable4] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 1,
|
||||
[LedId.Keyboard_LeftShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 2,
|
||||
[LedId.Keyboard_NonUsBackslash] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 3,
|
||||
[LedId.Keyboard_Z] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 4,
|
||||
[LedId.Keyboard_X] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 5,
|
||||
[LedId.Keyboard_C] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 6,
|
||||
[LedId.Keyboard_V] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 7,
|
||||
[LedId.Keyboard_B] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 8,
|
||||
[LedId.Keyboard_N] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 9,
|
||||
[LedId.Keyboard_M] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 10,
|
||||
[LedId.Keyboard_CommaAndLessThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 11,
|
||||
[LedId.Keyboard_PeriodAndBiggerThan] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 12,
|
||||
[LedId.Keyboard_SlashAndQuestionMark] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 13,
|
||||
[LedId.Keyboard_RightShift] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 15,
|
||||
[LedId.Keyboard_ArrowUp] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 17,
|
||||
[LedId.Keyboard_Num1] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 19,
|
||||
[LedId.Keyboard_Num2] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 20,
|
||||
[LedId.Keyboard_Num3] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 21,
|
||||
[LedId.Keyboard_NumEnter] = (_Defines.KEYBOARD_MAX_COLUMN * 5) + 22,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Row 6
|
||||
|
||||
[LedId.Keyboard_Programmable5] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 1,
|
||||
[LedId.Keyboard_LeftCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 2,
|
||||
[LedId.Keyboard_LeftGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 3,
|
||||
[LedId.Keyboard_LeftAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 4,
|
||||
[LedId.Keyboard_Space] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 7,
|
||||
[LedId.Keyboard_RightAlt] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 11,
|
||||
[LedId.Keyboard_RightGui] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 13,
|
||||
[LedId.Keyboard_Application] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 14,
|
||||
[LedId.Keyboard_RightCtrl] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 15,
|
||||
[LedId.Keyboard_ArrowLeft] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 16,
|
||||
[LedId.Keyboard_ArrowDown] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 17,
|
||||
[LedId.Keyboard_ArrowRight] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 18,
|
||||
[LedId.Keyboard_Num0] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 20,
|
||||
[LedId.Keyboard_NumPeriodAndDelete] = (_Defines.KEYBOARD_MAX_COLUMN * 6) + 21,
|
||||
|
||||
#endregion
|
||||
|
||||
//Row 7 is also empty
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for mice.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Mouse { get; } = new()
|
||||
{
|
||||
//row 0 empty
|
||||
|
||||
//row 1
|
||||
[LedId.Mouse1] = (_Defines.MOUSE_MAX_COLUMN * 1) + 0,
|
||||
[LedId.Mouse2] = (_Defines.MOUSE_MAX_COLUMN * 1) + 6,
|
||||
|
||||
//row 2
|
||||
[LedId.Mouse3] = (_Defines.MOUSE_MAX_COLUMN * 2) + 0,
|
||||
[LedId.Mouse4] = (_Defines.MOUSE_MAX_COLUMN * 2) + 3,
|
||||
[LedId.Mouse5] = (_Defines.MOUSE_MAX_COLUMN * 2) + 6,
|
||||
|
||||
//row 3
|
||||
[LedId.Mouse6] = (_Defines.MOUSE_MAX_COLUMN * 3) + 0,
|
||||
[LedId.Mouse7] = (_Defines.MOUSE_MAX_COLUMN * 3) + 6,
|
||||
|
||||
//row 4
|
||||
[LedId.Mouse8] = (_Defines.MOUSE_MAX_COLUMN * 4) + 0,
|
||||
[LedId.Mouse9] = (_Defines.MOUSE_MAX_COLUMN * 4) + 3,
|
||||
[LedId.Mouse10] = (_Defines.MOUSE_MAX_COLUMN * 4) + 6,
|
||||
|
||||
//row 5
|
||||
[LedId.Mouse11] = (_Defines.MOUSE_MAX_COLUMN * 5) + 0,
|
||||
[LedId.Mouse12] = (_Defines.MOUSE_MAX_COLUMN * 5) + 6,
|
||||
|
||||
//row 6
|
||||
[LedId.Mouse13] = (_Defines.MOUSE_MAX_COLUMN * 6) + 0,
|
||||
[LedId.Mouse14] = (_Defines.MOUSE_MAX_COLUMN * 6) + 6,
|
||||
|
||||
//row 7
|
||||
[LedId.Mouse15] = (_Defines.MOUSE_MAX_COLUMN * 7) + 0,
|
||||
[LedId.Mouse16] = (_Defines.MOUSE_MAX_COLUMN * 7) + 3,
|
||||
[LedId.Mouse17] = (_Defines.MOUSE_MAX_COLUMN * 7) + 6,
|
||||
|
||||
//row 8
|
||||
[LedId.Mouse18] = (_Defines.MOUSE_MAX_COLUMN * 8) + 1,
|
||||
[LedId.Mouse19] = (_Defines.MOUSE_MAX_COLUMN * 8) + 2,
|
||||
[LedId.Mouse20] = (_Defines.MOUSE_MAX_COLUMN * 8) + 3,
|
||||
[LedId.Mouse21] = (_Defines.MOUSE_MAX_COLUMN * 8) + 4,
|
||||
[LedId.Mouse22] = (_Defines.MOUSE_MAX_COLUMN * 8) + 5,
|
||||
};
|
||||
|
||||
//TODO DarthAffe 27.04.2021: Are mappings for these possible?
|
||||
/// <summary>
|
||||
/// Gets the mapping for mousepads.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Mousepad { get; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for headsets.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Headset { get; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for keypads.
|
||||
/// </summary>
|
||||
public static LedMapping<int> Keypad { get; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the mapping for chroma link devices.
|
||||
/// </summary>
|
||||
public static LedMapping<int> ChromaLink { get; } = new();
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,291 +9,297 @@ using RGB.NET.Core;
|
||||
using RGB.NET.Devices.Razer.Native;
|
||||
using RGB.NET.HID;
|
||||
|
||||
namespace RGB.NET.Devices.Razer;
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Represents a device provider responsible for razer devices.
|
||||
/// </summary>
|
||||
public class RazerDeviceProvider : AbstractRGBDeviceProvider
|
||||
namespace RGB.NET.Devices.Razer
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
private static RazerDeviceProvider? _instance;
|
||||
/// <summary>
|
||||
/// Gets the singleton <see cref="RazerDeviceProvider"/> instance.
|
||||
/// </summary>
|
||||
public static RazerDeviceProvider Instance => _instance ?? new RazerDeviceProvider();
|
||||
|
||||
/// <summary>
|
||||
/// Gets a modifiable list of paths used to find the native SDK-dlls for x86 applications.
|
||||
/// The first match will be used.
|
||||
/// </summary>
|
||||
public static List<string> PossibleX86NativePaths { get; } = new() { @"%systemroot%\SysWOW64\RzChromaSDK.dll" };
|
||||
|
||||
/// <summary>
|
||||
/// Gets a modifiable list of paths used to find the native SDK-dlls for x64 applications.
|
||||
/// The first match will be used.
|
||||
/// </summary>
|
||||
public static List<string> PossibleX64NativePaths { get; } = new() { @"%systemroot%\System32\RzChromaSDK.dll", @"%systemroot%\System32\RzChromaSDK64.dll" };
|
||||
|
||||
/// <summary>
|
||||
/// Forces to load the devices represented by the emulator even if they aren't reported to exist.
|
||||
/// </summary>
|
||||
public bool LoadEmulatorDevices { get; set; } = false;
|
||||
|
||||
private const int VENDOR_ID = 0x1532;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the HID-definitions for Razer-devices.
|
||||
/// </summary>
|
||||
public static HIDLoader<int, RazerEndpointType> DeviceDefinitions { get; } = new(VENDOR_ID)
|
||||
{
|
||||
// Keyboards
|
||||
{ 0x010D, RGBDeviceType.Keyboard, "BlackWidow Ultimate 2012", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x010E, RGBDeviceType.Keyboard, "BlackWidow Classic (Alternate)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x010F, RGBDeviceType.Keyboard, "Anansi", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x011A, RGBDeviceType.Keyboard, "BlackWidow Ultimate 2013", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x011B, RGBDeviceType.Keyboard, "BlackWidow Stealth", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0202, RGBDeviceType.Keyboard, "DeathStalker Expert", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0203, RGBDeviceType.Keyboard, "BlackWidow Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0204, RGBDeviceType.Keyboard, "DeathStalker Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0205, RGBDeviceType.Keyboard, "Blade Stealth", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0209, RGBDeviceType.Keyboard, "BlackWidow Tournament Edition Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x020F, RGBDeviceType.Keyboard, "Blade QHD", LedMappings.Keyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0210, RGBDeviceType.Keyboard, "Blade Pro (Late 2016)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0211, RGBDeviceType.Keyboard, "BlackWidow Chroma (Overwatch)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0214, RGBDeviceType.Keyboard, "BlackWidow Ultimate 2016", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0216, RGBDeviceType.Keyboard, "BlackWidow X Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0217, RGBDeviceType.Keyboard, "BlackWidow X Ultimate", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x021A, RGBDeviceType.Keyboard, "BlackWidow X Tournament Edition Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x021E, RGBDeviceType.Keyboard, "Ornata Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x021F, RGBDeviceType.Keyboard, "Ornata", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0220, RGBDeviceType.Keyboard, "Blade Stealth (Late 2016)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0221, RGBDeviceType.Keyboard, "BlackWidow Chroma V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0224, RGBDeviceType.Keyboard, "Blade (Late 2016)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0225, RGBDeviceType.Keyboard, "Blade Pro (2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0226, RGBDeviceType.Keyboard, "Huntsman Elite", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0227, RGBDeviceType.Keyboard, "Huntsman", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0228, RGBDeviceType.Keyboard, "BlackWidow Elite", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x022A, RGBDeviceType.Keyboard, "Cynosa Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x022D, RGBDeviceType.Keyboard, "Blade Stealth (Mid 2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x022F, RGBDeviceType.Keyboard, "Blade Pro FullHD (2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0232, RGBDeviceType.Keyboard, "Blade Stealth (Late 2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0233, RGBDeviceType.Keyboard, "Blade 15 (2018)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0234, RGBDeviceType.Keyboard, "Blade Pro 17 (2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0235, RGBDeviceType.Keyboard, "BlackWidow Lite (2018)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0237, RGBDeviceType.Keyboard, "BlackWidow Essential", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0239, RGBDeviceType.Keyboard, "Blade Stealth (2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x023A, RGBDeviceType.Keyboard, "Blade 15 (2019) Advanced", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x023B, RGBDeviceType.Keyboard, "Blade 15 (2018) Base Model", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x023F, RGBDeviceType.Keyboard, "Cynosa Lite", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0240, RGBDeviceType.Keyboard, "Blade 15 (2018) Mercury", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0241, RGBDeviceType.Keyboard, "BlackWidow (2019)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0243, RGBDeviceType.Keyboard, "Huntsman Tournament Edition", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0245, RGBDeviceType.Keyboard, "Blade 15 (Mid 2019) Mercury", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0246, RGBDeviceType.Keyboard, "Blade 15 (Mid 2019) Base", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024A, RGBDeviceType.Keyboard, "Blade Stealth (Late 2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024C, RGBDeviceType.Keyboard, "Blade Pro (Late 2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024D, RGBDeviceType.Keyboard, "Blade 15 Studio Edition (2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0252, RGBDeviceType.Keyboard, "Blade Stealth (Early 2020)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0253, RGBDeviceType.Keyboard, "Blade 15 Advanced (2020)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0255, RGBDeviceType.Keyboard, "Blade 15 (Early 2020) Base", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0259, RGBDeviceType.Keyboard, "Blade Stealth (Late 2020)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x25A, RGBDeviceType.Keyboard, "BlackWidow V3 Pro", LedMappings.Keyboard, RazerEndpointType.Keyboard }, // The keyboard, only present when connected with cable
|
||||
{ 0x25C, RGBDeviceType.Keyboard, "BlackWidow V3 Pro", LedMappings.Keyboard, RazerEndpointType.Keyboard }, // The dongle, may not be present when connected with cable
|
||||
{ 0x025D, RGBDeviceType.Keyboard, "Ornata Chroma V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x025E, RGBDeviceType.Keyboard, "Cynosa V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
|
||||
// Mice
|
||||
{ 0x0013, RGBDeviceType.Mouse, "Orochi 2011", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0016, RGBDeviceType.Mouse, "DeathAdder 3.5G", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0020, RGBDeviceType.Mouse, "Abyssus 1800", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0024, RGBDeviceType.Mouse, "Mamba 2012 (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0025, RGBDeviceType.Mouse, "Mamba 2012 (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x002E, RGBDeviceType.Mouse, "Naga 2012", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x002F, RGBDeviceType.Mouse, "Imperator 2012", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0032, RGBDeviceType.Mouse, "Ouroboros 2012", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0034, RGBDeviceType.Mouse, "Taipan", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0036, RGBDeviceType.Mouse, "Naga Hex (Red)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0037, RGBDeviceType.Mouse, "DeathAdder 2013", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0038, RGBDeviceType.Mouse, "DeathAdder 1800", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0039, RGBDeviceType.Mouse, "Orochi 2013", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0040, RGBDeviceType.Mouse, "Naga 2014", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0041, RGBDeviceType.Mouse, "Naga Hex", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0042, RGBDeviceType.Mouse, "Abyssus 2014", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0043, RGBDeviceType.Mouse, "DeathAdder Chroma", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0044, RGBDeviceType.Mouse, "Mamba (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0045, RGBDeviceType.Mouse, "Mamba (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0046, RGBDeviceType.Mouse, "Mamba Tournament Edition", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0048, RGBDeviceType.Mouse, "Orochi (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x004C, RGBDeviceType.Mouse, "Diamondback Chroma", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x004F, RGBDeviceType.Mouse, "DeathAdder 2000", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0050, RGBDeviceType.Mouse, "Naga Hex V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0053, RGBDeviceType.Mouse, "Naga Chroma", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0054, RGBDeviceType.Mouse, "DeathAdder 3500", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0059, RGBDeviceType.Mouse, "Lancehead (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005A, RGBDeviceType.Mouse, "Lancehead (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005B, RGBDeviceType.Mouse, "Abyssus V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005C, RGBDeviceType.Mouse, "DeathAdder Elite", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005E, RGBDeviceType.Mouse, "Abyssus 2000", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0060, RGBDeviceType.Mouse, "Lancehead Tournament Edition", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0062, RGBDeviceType.Mouse, "Atheris (Receiver)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0064, RGBDeviceType.Mouse, "Basilisk", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0067, RGBDeviceType.Mouse, "Naga Trinity", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006A, RGBDeviceType.Mouse, "Abyssus Elite (D.Va Edition)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006B, RGBDeviceType.Mouse, "Abyssus Essential", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006C, RGBDeviceType.Mouse, "Mamba Elite (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006E, RGBDeviceType.Mouse, "DeathAdder Essential", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006F, RGBDeviceType.Mouse, "Lancehead Wireless (Receiver)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0070, RGBDeviceType.Mouse, "Lancehead Wireless (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0071, RGBDeviceType.Mouse, "DeathAdder Essential (White Edition)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0072, RGBDeviceType.Mouse, "Mamba Wireless (Receiver)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0073, RGBDeviceType.Mouse, "Mamba Wireless (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0078, RGBDeviceType.Mouse, "Viper", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007A, RGBDeviceType.Mouse, "Viper Ultimate (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007B, RGBDeviceType.Mouse, "Viper Ultimate (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007C, RGBDeviceType.Mouse, "DeathAdder V2 Pro (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007D, RGBDeviceType.Mouse, "DeathAdder V2 Pro (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0083, RGBDeviceType.Mouse, "Basilisk X HyperSpeed", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0088, RGBDeviceType.Mouse, "Basilisk Ultimate", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0084, RGBDeviceType.Mouse, "DeathAdder V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x008A, RGBDeviceType.Mouse, "Viper Mini", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x008D, RGBDeviceType.Mouse, "Naga Left Handed Edition", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
|
||||
|
||||
// Mousepads
|
||||
{ 0x0068, RGBDeviceType.Mousepad, "Firefly Hyperflux", LedMappings.Mousepad, RazerEndpointType.Mousepad },
|
||||
{ 0x0C00, RGBDeviceType.Mousepad, "Firefly", LedMappings.Mousepad, RazerEndpointType.Mousepad },
|
||||
{ 0x0C01, RGBDeviceType.Mousepad, "Goliathus", LedMappings.Mousepad, RazerEndpointType.ChromaLink },
|
||||
{ 0x0C02, RGBDeviceType.Mousepad, "Goliathus Extended", LedMappings.Mousepad, RazerEndpointType.ChromaLink },
|
||||
{ 0x0C04, RGBDeviceType.Mousepad, "Firefly v2", LedMappings.Mousepad, RazerEndpointType.Mousepad },
|
||||
|
||||
// Headsets
|
||||
{ 0x0501, RGBDeviceType.Headset, "Kraken 7.1", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0504, RGBDeviceType.Headset, "Kraken 7.1 Chroma", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0506, RGBDeviceType.Headset, "Kraken 7.1", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0510, RGBDeviceType.Headset, "Kraken 7.1 V2", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x051A, RGBDeviceType.Headset, "Nari Ultimate", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0527, RGBDeviceType.Headset, "Kraken Ultimate", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0F19, RGBDeviceType.Headset, "Kraken Kitty Edition", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
|
||||
// Keypads
|
||||
{ 0x0111, RGBDeviceType.Keypad, "Nostromo", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0113, RGBDeviceType.Keypad, "Orbweaver", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0201, RGBDeviceType.Keypad, "Tartarus", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0207, RGBDeviceType.Keypad, "Orbweaver Chroma", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0208, RGBDeviceType.Keypad, "Tartarus Chroma", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x022B, RGBDeviceType.Keypad, "Tartarus V2", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0244, RGBDeviceType.Keypad, "Tartarus Pro", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
|
||||
// Misc - guessing these are through ChromaLink
|
||||
{ 0x0215, RGBDeviceType.GraphicsCard, "Core", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F08, RGBDeviceType.HeadsetStand, "Base Station Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0517, RGBDeviceType.Speaker, "Nommo Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0518, RGBDeviceType.Speaker, "Nommo Pro", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F07, RGBDeviceType.Unknown, "Chroma Mug Holder", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F09, RGBDeviceType.Unknown, "Chroma Hardware Development Kit (HDK)", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F13, RGBDeviceType.Unknown, "Lian Li O11", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F1D, RGBDeviceType.Unknown, "Mouse Bungee V3 Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F20, RGBDeviceType.Unknown, "Base Station V2 Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink }
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RazerDeviceProvider"/> class.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">Thrown if this constructor is called even if there is already an instance of this class.</exception>
|
||||
public RazerDeviceProvider()
|
||||
{
|
||||
if (_instance != null) throw new InvalidOperationException($"There can be only one instance of type {nameof(RazerDeviceProvider)}");
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void InitializeSDK()
|
||||
/// <summary>
|
||||
/// Represents a device provider responsible for razer devices.
|
||||
/// </summary>
|
||||
public class RazerDeviceProvider : AbstractRGBDeviceProvider
|
||||
{
|
||||
TryUnInit();
|
||||
#region Properties & Fields
|
||||
|
||||
_RazerSDK.Reload();
|
||||
private static RazerDeviceProvider? _instance;
|
||||
/// <summary>
|
||||
/// Gets the singleton <see cref="RazerDeviceProvider"/> instance.
|
||||
/// </summary>
|
||||
public static RazerDeviceProvider Instance => _instance ?? new RazerDeviceProvider();
|
||||
|
||||
RazerError error;
|
||||
if (((error = _RazerSDK.Init()) != RazerError.Success) && Enum.IsDefined(typeof(RazerError), error)) //HACK DarthAffe 08.02.2018: The x86-SDK seems to have a problem here ...
|
||||
ThrowRazerError(error, true);
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets a modifiable list of paths used to find the native SDK-dlls for x86 applications.
|
||||
/// The first match will be used.
|
||||
/// </summary>
|
||||
public static List<string> PossibleX86NativePaths { get; } = new() { @"%systemroot%\SysWOW64\RzChromaSDK.dll" };
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> GetLoadedDevices(RGBDeviceType loadFilter)
|
||||
{
|
||||
DeviceDefinitions.LoadFilter = loadFilter;
|
||||
/// <summary>
|
||||
/// Gets a modifiable list of paths used to find the native SDK-dlls for x64 applications.
|
||||
/// The first match will be used.
|
||||
/// </summary>
|
||||
public static List<string> PossibleX64NativePaths { get; } = new() { @"%systemroot%\System32\RzChromaSDK.dll", @"%systemroot%\System32\RzChromaSDK64.dll" };
|
||||
|
||||
IList<IRGBDevice> devices = base.GetLoadedDevices(loadFilter).ToList();
|
||||
/// <summary>
|
||||
/// Forces to load the devices represented by the emulator even if they aren't reported to exist.
|
||||
/// </summary>
|
||||
public bool LoadEmulatorDevices { get; set; } = false;
|
||||
|
||||
if (LoadEmulatorDevices)
|
||||
private const int VENDOR_ID = 0x1532;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the HID-definitions for Razer-devices.
|
||||
/// </summary>
|
||||
public static HIDLoader<int, RazerEndpointType> DeviceDefinitions { get; } = new(VENDOR_ID)
|
||||
{
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Keyboard) && devices.All(d => d is not RazerKeyboardRGBDevice))
|
||||
devices.Add(new RazerKeyboardRGBDevice(new RazerKeyboardRGBDeviceInfo("Emulator Keyboard", RazerEndpointType.Keyboard), GetUpdateTrigger(), LedMappings.Keyboard));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Mouse) && devices.All(d => d is not RazerMouseRGBDevice))
|
||||
devices.Add(new RazerMouseRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Mouse, RazerEndpointType.Mouse, "Emulator Mouse"), GetUpdateTrigger(), LedMappings.Mouse));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Headset) && devices.All(d => d is not RazerHeadsetRGBDevice))
|
||||
devices.Add(new RazerHeadsetRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Headset, RazerEndpointType.Headset, "Emulator Headset"), GetUpdateTrigger()));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Mousepad) && devices.All(d => d is not RazerMousepadRGBDevice))
|
||||
devices.Add(new RazerMousepadRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Mousepad, RazerEndpointType.Mousepad, "Emulator Mousepad"), GetUpdateTrigger()));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Keypad) && devices.All(d => d is not RazerMousepadRGBDevice))
|
||||
devices.Add(new RazerKeypadRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Keypad, RazerEndpointType.Keypad, "Emulator Keypad"), GetUpdateTrigger()));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Unknown) && devices.All(d => d is not RazerChromaLinkRGBDevice))
|
||||
devices.Add(new RazerChromaLinkRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Unknown, RazerEndpointType.ChromaLink, "Emulator Chroma Link"), GetUpdateTrigger()));
|
||||
// Keyboards
|
||||
{ 0x010D, RGBDeviceType.Keyboard, "BlackWidow Ultimate 2012", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x010E, RGBDeviceType.Keyboard, "BlackWidow Classic (Alternate)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x010F, RGBDeviceType.Keyboard, "Anansi", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x011A, RGBDeviceType.Keyboard, "BlackWidow Ultimate 2013", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x011B, RGBDeviceType.Keyboard, "BlackWidow Stealth", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0202, RGBDeviceType.Keyboard, "DeathStalker Expert", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0203, RGBDeviceType.Keyboard, "BlackWidow Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0204, RGBDeviceType.Keyboard, "DeathStalker Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0205, RGBDeviceType.Keyboard, "Blade Stealth", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0209, RGBDeviceType.Keyboard, "BlackWidow Tournament Edition Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x020F, RGBDeviceType.Keyboard, "Blade QHD", LedMappings.Keyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0210, RGBDeviceType.Keyboard, "Blade Pro (Late 2016)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0211, RGBDeviceType.Keyboard, "BlackWidow Chroma (Overwatch)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0214, RGBDeviceType.Keyboard, "BlackWidow Ultimate 2016", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0216, RGBDeviceType.Keyboard, "BlackWidow X Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0217, RGBDeviceType.Keyboard, "BlackWidow X Ultimate", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x021A, RGBDeviceType.Keyboard, "BlackWidow X Tournament Edition Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x021E, RGBDeviceType.Keyboard, "Ornata Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x021F, RGBDeviceType.Keyboard, "Ornata", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0220, RGBDeviceType.Keyboard, "Blade Stealth (Late 2016)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0221, RGBDeviceType.Keyboard, "BlackWidow Chroma V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0224, RGBDeviceType.Keyboard, "Blade (Late 2016)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0225, RGBDeviceType.Keyboard, "Blade Pro (2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0226, RGBDeviceType.Keyboard, "Huntsman Elite", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0227, RGBDeviceType.Keyboard, "Huntsman", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0228, RGBDeviceType.Keyboard, "BlackWidow Elite", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x022A, RGBDeviceType.Keyboard, "Cynosa Chroma", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x022D, RGBDeviceType.Keyboard, "Blade Stealth (Mid 2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x022F, RGBDeviceType.Keyboard, "Blade Pro FullHD (2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0232, RGBDeviceType.Keyboard, "Blade Stealth (Late 2017)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0233, RGBDeviceType.Keyboard, "Blade 15 (2018)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0234, RGBDeviceType.Keyboard, "Blade Pro 17 (2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0235, RGBDeviceType.Keyboard, "BlackWidow Lite (2018)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0237, RGBDeviceType.Keyboard, "BlackWidow Essential", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0239, RGBDeviceType.Keyboard, "Blade Stealth (2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x023A, RGBDeviceType.Keyboard, "Blade 15 (2019) Advanced", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x023B, RGBDeviceType.Keyboard, "Blade 15 (2018) Base Model", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x023F, RGBDeviceType.Keyboard, "Cynosa Lite", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0240, RGBDeviceType.Keyboard, "Blade 15 (2018) Mercury", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0241, RGBDeviceType.Keyboard, "BlackWidow (2019)", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0243, RGBDeviceType.Keyboard, "Huntsman Tournament Edition", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0245, RGBDeviceType.Keyboard, "Blade 15 (Mid 2019) Mercury", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0246, RGBDeviceType.Keyboard, "Blade 15 (Mid 2019) Base", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024A, RGBDeviceType.Keyboard, "Blade Stealth (Late 2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024C, RGBDeviceType.Keyboard, "Blade Pro (Late 2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024D, RGBDeviceType.Keyboard, "Blade 15 Studio Edition (2019)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x024E, RGBDeviceType.Keyboard, "BlackWidow V3", LedMappings.KeyboardBlackWidowV3, RazerEndpointType.Keyboard },
|
||||
{ 0x0252, RGBDeviceType.Keyboard, "Blade Stealth (Early 2020)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0253, RGBDeviceType.Keyboard, "Blade 15 Advanced (2020)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0255, RGBDeviceType.Keyboard, "Blade 15 (Early 2020) Base", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x0259, RGBDeviceType.Keyboard, "Blade Stealth (Late 2020)", LedMappings.LaptopKeyboard, RazerEndpointType.LaptopKeyboard },
|
||||
{ 0x25A, RGBDeviceType.Keyboard, "BlackWidow V3 Pro", LedMappings.Keyboard, RazerEndpointType.Keyboard }, // The keyboard, only present when connected with cable
|
||||
{ 0x25C, RGBDeviceType.Keyboard, "BlackWidow V3 Pro", LedMappings.Keyboard, RazerEndpointType.Keyboard }, // The dongle, may not be present when connected with cable
|
||||
{ 0x025D, RGBDeviceType.Keyboard, "Ornata Chroma V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x025E, RGBDeviceType.Keyboard, "Cynosa V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
{ 0x0266, RGBDeviceType.Keyboard, "Huntsman V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
|
||||
|
||||
// Mice
|
||||
{ 0x0013, RGBDeviceType.Mouse, "Orochi 2011", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0016, RGBDeviceType.Mouse, "DeathAdder 3.5G", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0020, RGBDeviceType.Mouse, "Abyssus 1800", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0024, RGBDeviceType.Mouse, "Mamba 2012 (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0025, RGBDeviceType.Mouse, "Mamba 2012 (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x002E, RGBDeviceType.Mouse, "Naga 2012", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x002F, RGBDeviceType.Mouse, "Imperator 2012", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0032, RGBDeviceType.Mouse, "Ouroboros 2012", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0034, RGBDeviceType.Mouse, "Taipan", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0036, RGBDeviceType.Mouse, "Naga Hex (Red)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0037, RGBDeviceType.Mouse, "DeathAdder 2013", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0038, RGBDeviceType.Mouse, "DeathAdder 1800", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0039, RGBDeviceType.Mouse, "Orochi 2013", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0040, RGBDeviceType.Mouse, "Naga 2014", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0041, RGBDeviceType.Mouse, "Naga Hex", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0042, RGBDeviceType.Mouse, "Abyssus 2014", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0043, RGBDeviceType.Mouse, "DeathAdder Chroma", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0044, RGBDeviceType.Mouse, "Mamba (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0045, RGBDeviceType.Mouse, "Mamba (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0046, RGBDeviceType.Mouse, "Mamba Tournament Edition", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0048, RGBDeviceType.Mouse, "Orochi (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x004C, RGBDeviceType.Mouse, "Diamondback Chroma", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x004F, RGBDeviceType.Mouse, "DeathAdder 2000", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0050, RGBDeviceType.Mouse, "Naga Hex V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0053, RGBDeviceType.Mouse, "Naga Chroma", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0054, RGBDeviceType.Mouse, "DeathAdder 3500", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0059, RGBDeviceType.Mouse, "Lancehead (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005A, RGBDeviceType.Mouse, "Lancehead (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005B, RGBDeviceType.Mouse, "Abyssus V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005C, RGBDeviceType.Mouse, "DeathAdder Elite", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x005E, RGBDeviceType.Mouse, "Abyssus 2000", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0060, RGBDeviceType.Mouse, "Lancehead Tournament Edition", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0062, RGBDeviceType.Mouse, "Atheris (Receiver)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0064, RGBDeviceType.Mouse, "Basilisk", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0067, RGBDeviceType.Mouse, "Naga Trinity", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006A, RGBDeviceType.Mouse, "Abyssus Elite (D.Va Edition)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006B, RGBDeviceType.Mouse, "Abyssus Essential", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006C, RGBDeviceType.Mouse, "Mamba Elite (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006E, RGBDeviceType.Mouse, "DeathAdder Essential", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x006F, RGBDeviceType.Mouse, "Lancehead Wireless (Receiver)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0070, RGBDeviceType.Mouse, "Lancehead Wireless (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0071, RGBDeviceType.Mouse, "DeathAdder Essential (White Edition)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0072, RGBDeviceType.Mouse, "Mamba Wireless (Receiver)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0073, RGBDeviceType.Mouse, "Mamba Wireless (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0078, RGBDeviceType.Mouse, "Viper", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007A, RGBDeviceType.Mouse, "Viper Ultimate (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007B, RGBDeviceType.Mouse, "Viper Ultimate (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007C, RGBDeviceType.Mouse, "DeathAdder V2 Pro (Wired)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x007D, RGBDeviceType.Mouse, "DeathAdder V2 Pro (Wireless)", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0083, RGBDeviceType.Mouse, "Basilisk X HyperSpeed", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0085, RGBDeviceType.Mouse, "Basilisk V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0088, RGBDeviceType.Mouse, "Basilisk Ultimate", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0084, RGBDeviceType.Mouse, "DeathAdder V2", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x008A, RGBDeviceType.Mouse, "Viper Mini", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x008D, RGBDeviceType.Mouse, "Naga Left Handed Edition", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0091, RGBDeviceType.Mouse, "Viper 8khz", LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
{ 0x0096, RGBDeviceType.Mouse, "Naga X", RGB.NET.Devices.Razer.LedMappings.Mouse, RazerEndpointType.Mouse },
|
||||
|
||||
// Mousepads
|
||||
{ 0x0068, RGBDeviceType.Mousepad, "Firefly Hyperflux", LedMappings.Mousepad, RazerEndpointType.Mousepad },
|
||||
{ 0x0C00, RGBDeviceType.Mousepad, "Firefly", LedMappings.Mousepad, RazerEndpointType.Mousepad },
|
||||
{ 0x0C01, RGBDeviceType.Mousepad, "Goliathus", LedMappings.Mousepad, RazerEndpointType.ChromaLink },
|
||||
{ 0x0C02, RGBDeviceType.Mousepad, "Goliathus Extended", LedMappings.Mousepad, RazerEndpointType.ChromaLink },
|
||||
{ 0x0C04, RGBDeviceType.Mousepad, "Firefly v2", LedMappings.Mousepad, RazerEndpointType.Mousepad },
|
||||
|
||||
// Headsets
|
||||
{ 0x0501, RGBDeviceType.Headset, "Kraken 7.1", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0504, RGBDeviceType.Headset, "Kraken 7.1 Chroma", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0506, RGBDeviceType.Headset, "Kraken 7.1", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0510, RGBDeviceType.Headset, "Kraken 7.1 V2", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x051A, RGBDeviceType.Headset, "Nari Ultimate", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0527, RGBDeviceType.Headset, "Kraken Ultimate", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
{ 0x0F19, RGBDeviceType.Headset, "Kraken Kitty Edition", LedMappings.Headset, RazerEndpointType.Headset },
|
||||
|
||||
// Keypads
|
||||
{ 0x0111, RGBDeviceType.Keypad, "Nostromo", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0113, RGBDeviceType.Keypad, "Orbweaver", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0201, RGBDeviceType.Keypad, "Tartarus", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0207, RGBDeviceType.Keypad, "Orbweaver Chroma", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0208, RGBDeviceType.Keypad, "Tartarus Chroma", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x022B, RGBDeviceType.Keypad, "Tartarus V2", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
{ 0x0244, RGBDeviceType.Keypad, "Tartarus Pro", LedMappings.Keypad, RazerEndpointType.Keypad },
|
||||
|
||||
// Misc - guessing these are through ChromaLink
|
||||
{ 0x0215, RGBDeviceType.GraphicsCard, "Core", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F08, RGBDeviceType.HeadsetStand, "Base Station Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0517, RGBDeviceType.Speaker, "Nommo Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0518, RGBDeviceType.Speaker, "Nommo Pro", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F07, RGBDeviceType.Unknown, "Chroma Mug Holder", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F09, RGBDeviceType.Unknown, "Chroma Hardware Development Kit (HDK)", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F13, RGBDeviceType.Unknown, "Lian Li O11", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F1D, RGBDeviceType.Unknown, "Mouse Bungee V3 Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F20, RGBDeviceType.Unknown, "Base Station V2 Chroma", LedMappings.ChromaLink, RazerEndpointType.ChromaLink },
|
||||
{ 0x0F1F, RGBDeviceType.Unknown, "Addressable RGB Controller", LedMappings.ChromaLink, RazerEndpointType.ChromaLink }
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RazerDeviceProvider"/> class.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">Thrown if this constructor is called even if there is already an instance of this class.</exception>
|
||||
public RazerDeviceProvider()
|
||||
{
|
||||
if (_instance != null) throw new InvalidOperationException($"There can be only one instance of type {nameof(RazerDeviceProvider)}");
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
return devices;
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> LoadDevices()
|
||||
{
|
||||
// Only take the first device of each endpoint type, the Razer SDK doesn't allow separate control over multiple devices using the same endpoint
|
||||
foreach ((HIDDeviceDefinition<int, RazerEndpointType> definition, _) in DeviceDefinitions.GetConnectedDevices(x => x.CustomData == RazerEndpointType.LaptopKeyboard ? RazerEndpointType.Keyboard : x.CustomData))
|
||||
#region Methods
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void InitializeSDK()
|
||||
{
|
||||
yield return definition.CustomData switch
|
||||
TryUnInit();
|
||||
|
||||
_RazerSDK.Reload();
|
||||
|
||||
RazerError error;
|
||||
if (((error = _RazerSDK.Init()) != RazerError.Success) && Enum.IsDefined(typeof(RazerError), error)) //HACK DarthAffe 08.02.2018: The x86-SDK seems to have a problem here ...
|
||||
ThrowRazerError(error, true);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> GetLoadedDevices(RGBDeviceType loadFilter)
|
||||
{
|
||||
DeviceDefinitions.LoadFilter = loadFilter;
|
||||
|
||||
IList<IRGBDevice> devices = base.GetLoadedDevices(loadFilter).ToList();
|
||||
|
||||
if (LoadEmulatorDevices)
|
||||
{
|
||||
RazerEndpointType.Keyboard => new RazerKeyboardRGBDevice(new RazerKeyboardRGBDeviceInfo(definition.Name, definition.CustomData), GetUpdateTrigger(), definition.LedMapping),
|
||||
RazerEndpointType.LaptopKeyboard => new RazerKeyboardRGBDevice(new RazerKeyboardRGBDeviceInfo(definition.Name, definition.CustomData), GetUpdateTrigger(), definition.LedMapping),
|
||||
RazerEndpointType.Mouse => new RazerMouseRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger(), definition.LedMapping),
|
||||
RazerEndpointType.Headset => new RazerHeadsetRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
RazerEndpointType.Mousepad => new RazerMousepadRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
RazerEndpointType.Keypad => new RazerKeypadRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
RazerEndpointType.ChromaLink => new RazerChromaLinkRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
_ => throw new RGBDeviceException($"Razer SDK does not support endpoint '{definition.CustomData}'")
|
||||
};
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Keyboard) && devices.All(d => d is not RazerKeyboardRGBDevice))
|
||||
devices.Add(new RazerKeyboardRGBDevice(new RazerKeyboardRGBDeviceInfo("Emulator Keyboard", RazerEndpointType.Keyboard), GetUpdateTrigger(), LedMappings.Keyboard));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Mouse) && devices.All(d => d is not RazerMouseRGBDevice))
|
||||
devices.Add(new RazerMouseRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Mouse, RazerEndpointType.Mouse, "Emulator Mouse"), GetUpdateTrigger(), LedMappings.Mouse));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Headset) && devices.All(d => d is not RazerHeadsetRGBDevice))
|
||||
devices.Add(new RazerHeadsetRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Headset, RazerEndpointType.Headset, "Emulator Headset"), GetUpdateTrigger()));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Mousepad) && devices.All(d => d is not RazerMousepadRGBDevice))
|
||||
devices.Add(new RazerMousepadRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Mousepad, RazerEndpointType.Mousepad, "Emulator Mousepad"), GetUpdateTrigger()));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Keypad) && devices.All(d => d is not RazerMousepadRGBDevice))
|
||||
devices.Add(new RazerKeypadRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Keypad, RazerEndpointType.Keypad, "Emulator Keypad"), GetUpdateTrigger()));
|
||||
if (loadFilter.HasFlag(RGBDeviceType.Unknown) && devices.All(d => d is not RazerChromaLinkRGBDevice))
|
||||
devices.Add(new RazerChromaLinkRGBDevice(new RazerRGBDeviceInfo(RGBDeviceType.Unknown, RazerEndpointType.ChromaLink, "Emulator Chroma Link"), GetUpdateTrigger()));
|
||||
}
|
||||
|
||||
return devices;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override IEnumerable<IRGBDevice> LoadDevices()
|
||||
{
|
||||
// Only take the first device of each endpoint type, the Razer SDK doesn't allow separate control over multiple devices using the same endpoint
|
||||
foreach ((HIDDeviceDefinition<int, RazerEndpointType> definition, _) in DeviceDefinitions.GetConnectedDevices(x => x.CustomData == RazerEndpointType.LaptopKeyboard ? RazerEndpointType.Keyboard : x.CustomData))
|
||||
{
|
||||
yield return definition.CustomData switch
|
||||
{
|
||||
RazerEndpointType.Keyboard => new RazerKeyboardRGBDevice(new RazerKeyboardRGBDeviceInfo(definition.Name, definition.CustomData), GetUpdateTrigger(), definition.LedMapping),
|
||||
RazerEndpointType.LaptopKeyboard => new RazerKeyboardRGBDevice(new RazerKeyboardRGBDeviceInfo(definition.Name, definition.CustomData), GetUpdateTrigger(), definition.LedMapping),
|
||||
RazerEndpointType.Mouse => new RazerMouseRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger(), definition.LedMapping),
|
||||
RazerEndpointType.Headset => new RazerHeadsetRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
RazerEndpointType.Mousepad => new RazerMousepadRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
RazerEndpointType.Keypad => new RazerKeypadRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
RazerEndpointType.ChromaLink => new RazerChromaLinkRGBDevice(new RazerRGBDeviceInfo(definition.DeviceType, definition.CustomData, definition.Name), GetUpdateTrigger()),
|
||||
_ => throw new RGBDeviceException($"Razer SDK does not support endpoint '{definition.CustomData}'")
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private void ThrowRazerError(RazerError errorCode, bool isCritical) => Throw(new RazerException(errorCode), isCritical);
|
||||
|
||||
private void TryUnInit()
|
||||
{
|
||||
try { _RazerSDK.UnInit(); }
|
||||
catch { /* We tried our best */ }
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
|
||||
TryUnInit();
|
||||
|
||||
// DarthAffe 03.03.2020: Fails with an access-violation - verify if an unload is already triggered by uninit
|
||||
//try { _RazerSDK.UnloadRazerSDK(); }
|
||||
//catch { /* at least we tried */ }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void ThrowRazerError(RazerError errorCode, bool isCritical) => Throw(new RazerException(errorCode), isCritical);
|
||||
|
||||
private void TryUnInit()
|
||||
{
|
||||
try { _RazerSDK.UnInit(); }
|
||||
catch { /* We tried our best */ }
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Dispose()
|
||||
{
|
||||
base.Dispose();
|
||||
|
||||
TryUnInit();
|
||||
|
||||
// DarthAffe 03.03.2020: Fails with an access-violation - verify if an unload is already triggered by uninit
|
||||
//try { _RazerSDK.UnloadRazerSDK(); }
|
||||
//catch { /* at least we tried */ }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,398 +1,408 @@
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.SteelSeries;
|
||||
|
||||
/// <summary>
|
||||
/// Contains mappings for <see cref="LedId"/> to <see cref="SteelSeriesLedId"/>.
|
||||
/// </summary>
|
||||
public static class LedMappings
|
||||
namespace RGB.NET.Devices.SteelSeries
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the uk-mapping for keyboards.
|
||||
/// Contains mappings for <see cref="LedId"/> to <see cref="SteelSeriesLedId"/>.
|
||||
/// </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 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 }
|
||||
};
|
||||
|
||||
/// <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 two-zone mousepads
|
||||
/// </summary>
|
||||
public static LedMapping<SteelSeriesLedId> MousepadTwoZone { get; } = new()
|
||||
{
|
||||
{ LedId.Mousepad1, SteelSeriesLedId.ZoneOne },
|
||||
{ LedId.Mousepad2, SteelSeriesLedId.ZoneTwo }
|
||||
};
|
||||
|
||||
/// <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 }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,14 +37,17 @@ public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
|
||||
{ 0x0472, RGBDeviceType.Mouse, "Rival 150", LedMappings.MouseOneZone, SteelSeriesDeviceType.OneZone },
|
||||
{ 0x1710, RGBDeviceType.Mouse, "Rival 300", LedMappings.MouseTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
{ 0x1720, RGBDeviceType.Mouse, "Rival 310", LedMappings.MouseTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
{ 0x1722, RGBDeviceType.Mouse, "Sensei 310", LedMappings.MouseTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
{ 0x170E, RGBDeviceType.Mouse, "Rival 500", LedMappings.MouseTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
{ 0x1724, RGBDeviceType.Mouse, "Rival 600", LedMappings.MouseEightZone, SteelSeriesDeviceType.EightZone },
|
||||
{ 0x1726, RGBDeviceType.Mouse, "Rival 650", LedMappings.MouseEightZone, SteelSeriesDeviceType.EightZone },
|
||||
{ 0x172B, RGBDeviceType.Mouse, "Rival 650", LedMappings.MouseEightZone, SteelSeriesDeviceType.EightZone },
|
||||
{ 0x1700, RGBDeviceType.Mouse, "Rival 700", LedMappings.MouseTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
{ 0x1824, RGBDeviceType.Mouse, "Rival 3 (Old Firmware)", LedMappings.MouseThreeZone, SteelSeriesDeviceType.ThreeZone },
|
||||
{ 0x184C, RGBDeviceType.Mouse, "Rival 3", LedMappings.MouseThreeZone, SteelSeriesDeviceType.ThreeZone },
|
||||
{ 0x1830, RGBDeviceType.Mouse, "Rival 3 Wireless", LedMappings.MouseThreeZone, SteelSeriesDeviceType.ThreeZone },
|
||||
{ 0x1832, RGBDeviceType.Mouse, "Sensei Ten", LedMappings.MouseTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
{ 0x1838, RGBDeviceType.Mouse, "Aerox 3 Wireless", LedMappings.MouseThreeZone, SteelSeriesDeviceType.ThreeZone },
|
||||
|
||||
//Keyboards
|
||||
{ 0x161C, RGBDeviceType.Keyboard, "Apex 5", LedMappings.KeyboardMappingUk, SteelSeriesDeviceType.PerKey },
|
||||
@ -64,6 +67,7 @@ public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
|
||||
|
||||
//Mousepads
|
||||
{ 0x1507, RGBDeviceType.Mousepad, "QCK Prism", LedMappings.MousepadTwelveZone, SteelSeriesDeviceType.TwelveZone },
|
||||
{ 0x150D, RGBDeviceType.Mousepad, "QCK Prism Cloth", LedMappings.MousepadTwoZone, SteelSeriesDeviceType.TwoZone },
|
||||
|
||||
//Monitors
|
||||
{ 0x1126, RGBDeviceType.Monitor, "MGP27C", LedMappings.MonitorOnehundredandthreeZone, SteelSeriesDeviceType.OneHundredAndThreeZone },
|
||||
|
||||
19
RGB.NET.Devices.Wooting/Enum/WootingLayoutType.cs
Normal file
19
RGB.NET.Devices.Wooting/Enum/WootingLayoutType.cs
Normal file
@ -0,0 +1,19 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
#pragma warning disable 1591 // Missing XML comment for publicly visible type or member
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Enum
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains list of available physical layouts for Wooting keyboards.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Shop states ANSI (US) and ISO (UK/German/Nodics) - https://wooting.store/collections/wooting-keyboards/products/wooting-two
|
||||
/// </remarks>
|
||||
public enum WootingLayoutType
|
||||
{
|
||||
ANSI = 0,
|
||||
ISO = 1
|
||||
}
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
#pragma warning disable 1591 // Missing XML comment for publicly visible type or member
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Enum;
|
||||
|
||||
/// <summary>
|
||||
/// Contains list of available physical layouts for Wooting keyboards.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Shop states ANSI (US) and ISO (UK/German/Nodics) - https://wooting.store/collections/wooting-keyboards/products/wooting-two
|
||||
/// </remarks>
|
||||
public enum WootingPhysicalKeyboardLayout
|
||||
{
|
||||
US = 0,
|
||||
UK = 1
|
||||
}
|
||||
@ -1,54 +1,59 @@
|
||||
using RGB.NET.Core;
|
||||
using RGB.NET.Devices.Wooting.Enum;
|
||||
using RGB.NET.Devices.Wooting.Helper;
|
||||
using RGB.NET.Devices.Wooting.Native;
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Generic;
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Represents a generic information for a Wooting-<see cref="T:RGB.NET.Core.IRGBDevice" />.
|
||||
/// </summary>
|
||||
public class WootingRGBDeviceInfo : IRGBDeviceInfo
|
||||
namespace RGB.NET.Devices.Wooting.Generic
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <inheritdoc />
|
||||
public RGBDeviceType DeviceType { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string DeviceName { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Manufacturer => "Wooting";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Model { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public object? LayoutMetadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the <see cref="WootingDeviceType"/> of the <see cref="WootingRGBDevice{TDeviceInfo}"/>.
|
||||
/// Represents a generic information for a Wooting-<see cref="T:RGB.NET.Core.IRGBDevice" />.
|
||||
/// </summary>
|
||||
public WootingDeviceType WootingDeviceType { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed <see cref="WootingRGBDeviceInfo"/>.
|
||||
/// </summary>
|
||||
/// <param name="deviceType">The type of the <see cref="IRGBDevice"/>.</param>
|
||||
/// <param name="deviceInfo">The <see cref="_WootingDeviceInfo"/> of the <see cref="IRGBDevice"/>.</param>
|
||||
internal WootingRGBDeviceInfo(RGBDeviceType deviceType, _WootingDeviceInfo deviceInfo)
|
||||
public class WootingRGBDeviceInfo : IRGBDeviceInfo
|
||||
{
|
||||
this.DeviceType = deviceType;
|
||||
this.WootingDeviceType = deviceInfo.DeviceType;
|
||||
#region Properties & Fields
|
||||
|
||||
Model = deviceInfo.Model;
|
||||
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
|
||||
/// <inheritdoc />
|
||||
public RGBDeviceType DeviceType { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string DeviceName { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Manufacturer => "Wooting";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Model { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public object? LayoutMetadata { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the <see cref="WootingDeviceType"/> of the <see cref="WootingRGBDevice{TDeviceInfo}"/>.
|
||||
/// </summary>
|
||||
public WootingDeviceType WootingDeviceType { get; }
|
||||
|
||||
public WootingLayoutType WootingLayoutType { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed <see cref="WootingRGBDeviceInfo"/>.
|
||||
/// </summary>
|
||||
/// <param name="deviceType">The type of the <see cref="IRGBDevice"/>.</param>
|
||||
/// <param name="deviceInfo">The <see cref="_WootingDeviceInfo"/> of the <see cref="IRGBDevice"/>.</param>
|
||||
internal WootingRGBDeviceInfo(RGBDeviceType deviceType, _WootingDeviceInfo deviceInfo)
|
||||
{
|
||||
this.DeviceType = deviceType;
|
||||
this.WootingDeviceType = deviceInfo.DeviceType;
|
||||
this.WootingLayoutType = deviceInfo.LayoutType;
|
||||
|
||||
Model = deviceInfo.Model;
|
||||
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,476 +1,244 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
using System.Collections.Generic;
|
||||
using RGB.NET.Core;
|
||||
using RGB.NET.Devices.Wooting.Enum;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Keyboard;
|
||||
|
||||
/// <summary>
|
||||
/// Contains all the hardware-id mappings for Wooting devices.
|
||||
/// </summary>
|
||||
internal static class WootingKeyboardLedMappings
|
||||
namespace RGB.NET.Devices.Wooting.Keyboard
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
#region TKL
|
||||
|
||||
private static readonly Dictionary<LedId, (int row, int column)> TKL_US = new()
|
||||
{
|
||||
{ LedId.Keyboard_Escape, (0,0) },
|
||||
{ LedId.Keyboard_F1, (0,2) },
|
||||
{ LedId.Keyboard_F2, (0,3) },
|
||||
{ LedId.Keyboard_F3, (0,4) },
|
||||
{ LedId.Keyboard_F4, (0,5) },
|
||||
{ LedId.Keyboard_F5, (0,6) },
|
||||
{ LedId.Keyboard_F6, (0,7) },
|
||||
{ LedId.Keyboard_F7, (0,8) },
|
||||
{ LedId.Keyboard_F8, (0,9) },
|
||||
{ LedId.Keyboard_F9, (0,10) },
|
||||
{ LedId.Keyboard_F10, (0,11) },
|
||||
{ LedId.Keyboard_F11, (0,12) },
|
||||
{ LedId.Keyboard_F12, (0,13) },
|
||||
{ LedId.Keyboard_PrintScreen, (0,14) },
|
||||
{ LedId.Keyboard_PauseBreak, (0,15) },
|
||||
{ LedId.Keyboard_Custom1, (0,16) },
|
||||
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
|
||||
{ LedId.Keyboard_1, (1,1) },
|
||||
{ LedId.Keyboard_2, (1,2) },
|
||||
{ LedId.Keyboard_3, (1,3) },
|
||||
{ LedId.Keyboard_4, (1,4) },
|
||||
{ LedId.Keyboard_5, (1,5) },
|
||||
{ LedId.Keyboard_6, (1,6) },
|
||||
{ LedId.Keyboard_7, (1,7) },
|
||||
{ LedId.Keyboard_8, (1,8) },
|
||||
{ LedId.Keyboard_9, (1,9) },
|
||||
{ LedId.Keyboard_0, (1,10) },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
|
||||
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
|
||||
{ LedId.Keyboard_Backspace, (1,13) },
|
||||
{ LedId.Keyboard_Insert, (1,14) },
|
||||
{ LedId.Keyboard_Home, (1,15) },
|
||||
{ LedId.Keyboard_PageUp, (1,16) },
|
||||
|
||||
{ LedId.Keyboard_Tab, (2,0) },
|
||||
{ LedId.Keyboard_Q, (2,1) },
|
||||
{ LedId.Keyboard_W, (2,2) },
|
||||
{ LedId.Keyboard_E, (2,3) },
|
||||
{ LedId.Keyboard_R, (2,4) },
|
||||
{ LedId.Keyboard_T, (2,5) },
|
||||
{ LedId.Keyboard_Y, (2,6) },
|
||||
{ LedId.Keyboard_U, (2,7) },
|
||||
{ LedId.Keyboard_I, (2,8) },
|
||||
{ LedId.Keyboard_O, (2,9) },
|
||||
{ LedId.Keyboard_P, (2,10) },
|
||||
{ LedId.Keyboard_BracketLeft, (2,11) },
|
||||
{ LedId.Keyboard_BracketRight, (2,12) },
|
||||
{ LedId.Keyboard_Backslash, (2,13) },
|
||||
{ LedId.Keyboard_Delete, (2,14) },
|
||||
{ LedId.Keyboard_End, (2,15) },
|
||||
{ LedId.Keyboard_PageDown, (2,16) },
|
||||
|
||||
{ LedId.Keyboard_CapsLock, (3,0) },
|
||||
{ LedId.Keyboard_A, (3,1) },
|
||||
{ LedId.Keyboard_S, (3,2) },
|
||||
{ LedId.Keyboard_D, (3,3) },
|
||||
{ LedId.Keyboard_F, (3,4) },
|
||||
{ LedId.Keyboard_G, (3,5) },
|
||||
{ LedId.Keyboard_H, (3,6) },
|
||||
{ LedId.Keyboard_J, (3,7) },
|
||||
{ LedId.Keyboard_K, (3,8) },
|
||||
{ LedId.Keyboard_L, (3,9) },
|
||||
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
|
||||
{ LedId.Keyboard_Enter, (3,13) },
|
||||
|
||||
{ LedId.Keyboard_LeftShift, (4,0) },
|
||||
{ LedId.Keyboard_Z, (4,2) },
|
||||
{ LedId.Keyboard_X, (4,3) },
|
||||
{ LedId.Keyboard_C, (4,4) },
|
||||
{ LedId.Keyboard_V, (4,5) },
|
||||
{ LedId.Keyboard_B, (4,6) },
|
||||
{ LedId.Keyboard_N, (4,7) },
|
||||
{ LedId.Keyboard_M, (4,8) },
|
||||
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
|
||||
{ LedId.Keyboard_RightShift, (4,13) },
|
||||
{ LedId.Keyboard_ArrowUp, (4,15) },
|
||||
|
||||
{ LedId.Keyboard_LeftCtrl, (5,0) },
|
||||
{ LedId.Keyboard_LeftGui, (5,1) },
|
||||
{ LedId.Keyboard_LeftAlt, (5,2) },
|
||||
{ LedId.Keyboard_Space, (5,6) },
|
||||
{ LedId.Keyboard_RightAlt, (5,10) },
|
||||
{ LedId.Keyboard_RightGui, (5,11) },
|
||||
{ LedId.Keyboard_Application, (5,12) },
|
||||
{ LedId.Keyboard_RightCtrl, (5,13) },
|
||||
{ LedId.Keyboard_ArrowLeft, (5,14) },
|
||||
{ LedId.Keyboard_ArrowDown, (5,15) },
|
||||
{ LedId.Keyboard_ArrowRight, (5,16) }
|
||||
};
|
||||
|
||||
private static readonly Dictionary<LedId, (int row, int column)> TKL_UK = new()
|
||||
{
|
||||
{ LedId.Keyboard_Escape, (0,0) },
|
||||
{ LedId.Keyboard_F1, (0,2) },
|
||||
{ LedId.Keyboard_F2, (0,3) },
|
||||
{ LedId.Keyboard_F3, (0,4) },
|
||||
{ LedId.Keyboard_F4, (0,5) },
|
||||
{ LedId.Keyboard_F5, (0,6) },
|
||||
{ LedId.Keyboard_F6, (0,7) },
|
||||
{ LedId.Keyboard_F7, (0,8) },
|
||||
{ LedId.Keyboard_F8, (0,9) },
|
||||
{ LedId.Keyboard_F9, (0,10) },
|
||||
{ LedId.Keyboard_F10, (0,11) },
|
||||
{ LedId.Keyboard_F11, (0,12) },
|
||||
{ LedId.Keyboard_F12, (0,13) },
|
||||
{ LedId.Keyboard_PrintScreen, (0,14) },
|
||||
{ LedId.Keyboard_PauseBreak, (0,15) },
|
||||
{ LedId.Keyboard_Custom1, (0,16) },
|
||||
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
|
||||
{ LedId.Keyboard_1, (1,1) },
|
||||
{ LedId.Keyboard_2, (1,2) },
|
||||
{ LedId.Keyboard_3, (1,3) },
|
||||
{ LedId.Keyboard_4, (1,4) },
|
||||
{ LedId.Keyboard_5, (1,5) },
|
||||
{ LedId.Keyboard_6, (1,6) },
|
||||
{ LedId.Keyboard_7, (1,7) },
|
||||
{ LedId.Keyboard_8, (1,8) },
|
||||
{ LedId.Keyboard_9, (1,9) },
|
||||
{ LedId.Keyboard_0, (1,10) },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
|
||||
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
|
||||
{ LedId.Keyboard_Backspace, (1,13) },
|
||||
{ LedId.Keyboard_Insert, (1,14) },
|
||||
{ LedId.Keyboard_Home, (1,15) },
|
||||
{ LedId.Keyboard_PageUp, (1,16) },
|
||||
|
||||
{ LedId.Keyboard_Tab, (2,0) },
|
||||
{ LedId.Keyboard_Q, (2,1) },
|
||||
{ LedId.Keyboard_W, (2,2) },
|
||||
{ LedId.Keyboard_E, (2,3) },
|
||||
{ LedId.Keyboard_R, (2,4) },
|
||||
{ LedId.Keyboard_T, (2,5) },
|
||||
{ LedId.Keyboard_Y, (2,6) },
|
||||
{ LedId.Keyboard_U, (2,7) },
|
||||
{ LedId.Keyboard_I, (2,8) },
|
||||
{ LedId.Keyboard_O, (2,9) },
|
||||
{ LedId.Keyboard_P, (2,10) },
|
||||
{ LedId.Keyboard_BracketLeft, (2,11) },
|
||||
{ LedId.Keyboard_BracketRight, (2,12) },
|
||||
{ LedId.Keyboard_Backslash, (2,13) },
|
||||
{ LedId.Keyboard_Delete, (2,14) },
|
||||
{ LedId.Keyboard_End, (2,15) },
|
||||
{ LedId.Keyboard_PageDown, (2,16) },
|
||||
|
||||
{ LedId.Keyboard_CapsLock, (3,0) },
|
||||
{ LedId.Keyboard_A, (3,1) },
|
||||
{ LedId.Keyboard_S, (3,2) },
|
||||
{ LedId.Keyboard_D, (3,3) },
|
||||
{ LedId.Keyboard_F, (3,4) },
|
||||
{ LedId.Keyboard_G, (3,5) },
|
||||
{ LedId.Keyboard_H, (3,6) },
|
||||
{ LedId.Keyboard_J, (3,7) },
|
||||
{ LedId.Keyboard_K, (3,8) },
|
||||
{ LedId.Keyboard_L, (3,9) },
|
||||
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
|
||||
{ LedId.Keyboard_NonUsTilde, (3,12) },
|
||||
{ LedId.Keyboard_Enter, (3,13) },
|
||||
|
||||
{ LedId.Keyboard_LeftShift, (4,0) },
|
||||
{ LedId.Keyboard_NonUsBackslash, (4,1) },
|
||||
{ LedId.Keyboard_Z, (4,2) },
|
||||
{ LedId.Keyboard_X, (4,3) },
|
||||
{ LedId.Keyboard_C, (4,4) },
|
||||
{ LedId.Keyboard_V, (4,5) },
|
||||
{ LedId.Keyboard_B, (4,6) },
|
||||
{ LedId.Keyboard_N, (4,7) },
|
||||
{ LedId.Keyboard_M, (4,8) },
|
||||
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
|
||||
{ LedId.Keyboard_RightShift, (4,13) },
|
||||
{ LedId.Keyboard_ArrowUp, (4,15) },
|
||||
|
||||
{ LedId.Keyboard_LeftCtrl, (5,0) },
|
||||
{ LedId.Keyboard_LeftGui, (5,1) },
|
||||
{ LedId.Keyboard_LeftAlt, (5,2) },
|
||||
{ LedId.Keyboard_Space, (5,6) },
|
||||
{ LedId.Keyboard_RightAlt, (5,10) },
|
||||
{ LedId.Keyboard_RightGui, (5,11) },
|
||||
{ LedId.Keyboard_Application, (5,12) },
|
||||
{ LedId.Keyboard_RightCtrl, (5,13) },
|
||||
{ LedId.Keyboard_ArrowLeft, (5,14) },
|
||||
{ LedId.Keyboard_ArrowDown, (5,15) },
|
||||
{ LedId.Keyboard_ArrowRight, (5,16) }
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fullsize
|
||||
|
||||
private static readonly Dictionary<LedId, (int row, int column)> Fullsize_US = new()
|
||||
{
|
||||
{ LedId.Keyboard_Escape, (0,0) },
|
||||
{ LedId.Keyboard_F1, (0,2) },
|
||||
{ LedId.Keyboard_F2, (0,3) },
|
||||
{ LedId.Keyboard_F3, (0,4) },
|
||||
{ LedId.Keyboard_F4, (0,5) },
|
||||
{ LedId.Keyboard_F5, (0,6) },
|
||||
{ LedId.Keyboard_F6, (0,7) },
|
||||
{ LedId.Keyboard_F7, (0,8) },
|
||||
{ LedId.Keyboard_F8, (0,9) },
|
||||
{ LedId.Keyboard_F9, (0,10) },
|
||||
{ LedId.Keyboard_F10, (0,11) },
|
||||
{ LedId.Keyboard_F11, (0,12) },
|
||||
{ LedId.Keyboard_F12, (0,13) },
|
||||
{ LedId.Keyboard_PrintScreen, (0,14) },
|
||||
{ LedId.Keyboard_PauseBreak, (0,15) },
|
||||
{ LedId.Keyboard_ScrollLock, (0,16) },
|
||||
{ LedId.Keyboard_Custom1, (0,17) },
|
||||
{ LedId.Keyboard_Custom2, (0,18) },
|
||||
{ LedId.Keyboard_Custom3, (0,19) },
|
||||
{ LedId.Keyboard_Custom4, (0,20) },
|
||||
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
|
||||
{ LedId.Keyboard_1, (1,1) },
|
||||
{ LedId.Keyboard_2, (1,2) },
|
||||
{ LedId.Keyboard_3, (1,3) },
|
||||
{ LedId.Keyboard_4, (1,4) },
|
||||
{ LedId.Keyboard_5, (1,5) },
|
||||
{ LedId.Keyboard_6, (1,6) },
|
||||
{ LedId.Keyboard_7, (1,7) },
|
||||
{ LedId.Keyboard_8, (1,8) },
|
||||
{ LedId.Keyboard_9, (1,9) },
|
||||
{ LedId.Keyboard_0, (1,10) },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
|
||||
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
|
||||
{ LedId.Keyboard_Backspace, (1,13) },
|
||||
{ LedId.Keyboard_Insert, (1,14) },
|
||||
{ LedId.Keyboard_Home, (1,15) },
|
||||
{ LedId.Keyboard_PageUp, (1,16) },
|
||||
{ LedId.Keyboard_NumLock, (1,17) },
|
||||
{ LedId.Keyboard_NumSlash, (1,18) },
|
||||
{ LedId.Keyboard_NumAsterisk, (1,19) },
|
||||
{ LedId.Keyboard_NumMinus, (1,20) },
|
||||
|
||||
{ LedId.Keyboard_Tab, (2,0) },
|
||||
{ LedId.Keyboard_Q, (2,1) },
|
||||
{ LedId.Keyboard_W, (2,2) },
|
||||
{ LedId.Keyboard_E, (2,3) },
|
||||
{ LedId.Keyboard_R, (2,4) },
|
||||
{ LedId.Keyboard_T, (2,5) },
|
||||
{ LedId.Keyboard_Y, (2,6) },
|
||||
{ LedId.Keyboard_U, (2,7) },
|
||||
{ LedId.Keyboard_I, (2,8) },
|
||||
{ LedId.Keyboard_O, (2,9) },
|
||||
{ LedId.Keyboard_P, (2,10) },
|
||||
{ LedId.Keyboard_BracketLeft, (2,11) },
|
||||
{ LedId.Keyboard_BracketRight, (2,12) },
|
||||
{ LedId.Keyboard_Backslash, (2,13) },
|
||||
{ LedId.Keyboard_Delete, (2,14) },
|
||||
{ LedId.Keyboard_End, (2,15) },
|
||||
{ LedId.Keyboard_PageDown, (2,16) },
|
||||
{ LedId.Keyboard_Num7, (2,17) },
|
||||
{ LedId.Keyboard_Num8, (2,18) },
|
||||
{ LedId.Keyboard_Num9, (2,19) },
|
||||
{ LedId.Keyboard_NumPlus, (2,20) },
|
||||
|
||||
{ LedId.Keyboard_CapsLock, (3,0) },
|
||||
{ LedId.Keyboard_A, (3,1) },
|
||||
{ LedId.Keyboard_S, (3,2) },
|
||||
{ LedId.Keyboard_D, (3,3) },
|
||||
{ LedId.Keyboard_F, (3,4) },
|
||||
{ LedId.Keyboard_G, (3,5) },
|
||||
{ LedId.Keyboard_H, (3,6) },
|
||||
{ LedId.Keyboard_J, (3,7) },
|
||||
{ LedId.Keyboard_K, (3,8) },
|
||||
{ LedId.Keyboard_L, (3,9) },
|
||||
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
|
||||
{ LedId.Keyboard_Enter, (3,13) },
|
||||
{ LedId.Keyboard_Num4, (3,17) },
|
||||
{ LedId.Keyboard_Num5, (3,18) },
|
||||
{ LedId.Keyboard_Num6, (3,19) },
|
||||
|
||||
{ LedId.Keyboard_LeftShift, (4,0) },
|
||||
{ LedId.Keyboard_Z, (4,2) },
|
||||
{ LedId.Keyboard_X, (4,3) },
|
||||
{ LedId.Keyboard_C, (4,4) },
|
||||
{ LedId.Keyboard_V, (4,5) },
|
||||
{ LedId.Keyboard_B, (4,6) },
|
||||
{ LedId.Keyboard_N, (4,7) },
|
||||
{ LedId.Keyboard_M, (4,8) },
|
||||
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
|
||||
{ LedId.Keyboard_RightShift, (4,13) },
|
||||
{ LedId.Keyboard_ArrowUp, (4,15) },
|
||||
{ LedId.Keyboard_Num1, (4,17) },
|
||||
{ LedId.Keyboard_Num2, (4,18) },
|
||||
{ LedId.Keyboard_Num3, (4,19) },
|
||||
{ LedId.Keyboard_NumEnter, (4,20) },
|
||||
|
||||
{ LedId.Keyboard_LeftCtrl, (5,0) },
|
||||
{ LedId.Keyboard_LeftGui, (5,1) },
|
||||
{ LedId.Keyboard_LeftAlt, (5,2) },
|
||||
{ LedId.Keyboard_Space, (5,6) },
|
||||
{ LedId.Keyboard_RightAlt, (5,10) },
|
||||
{ LedId.Keyboard_RightGui, (5,11) },
|
||||
{ LedId.Keyboard_Application, (5,12) },
|
||||
{ LedId.Keyboard_RightCtrl, (5,13) },
|
||||
{ LedId.Keyboard_ArrowLeft, (5,14) },
|
||||
{ LedId.Keyboard_ArrowDown, (5,15) },
|
||||
{ LedId.Keyboard_ArrowRight, (5,16) },
|
||||
{ LedId.Keyboard_Num0, (5,18) },
|
||||
{ LedId.Keyboard_NumPeriodAndDelete, (5,19) }
|
||||
};
|
||||
|
||||
private static readonly Dictionary<LedId, (int row, int column)> Fullsize_UK = new()
|
||||
{
|
||||
{ LedId.Keyboard_Escape, (0,0) },
|
||||
{ LedId.Keyboard_F1, (0,2) },
|
||||
{ LedId.Keyboard_F2, (0,3) },
|
||||
{ LedId.Keyboard_F3, (0,4) },
|
||||
{ LedId.Keyboard_F4, (0,5) },
|
||||
{ LedId.Keyboard_F5, (0,6) },
|
||||
{ LedId.Keyboard_F6, (0,7) },
|
||||
{ LedId.Keyboard_F7, (0,8) },
|
||||
{ LedId.Keyboard_F8, (0,9) },
|
||||
{ LedId.Keyboard_F9, (0,10) },
|
||||
{ LedId.Keyboard_F10, (0,11) },
|
||||
{ LedId.Keyboard_F11, (0,12) },
|
||||
{ LedId.Keyboard_F12, (0,13) },
|
||||
{ LedId.Keyboard_PrintScreen, (0,14) },
|
||||
{ LedId.Keyboard_PauseBreak, (0,15) },
|
||||
{ LedId.Keyboard_ScrollLock, (0,16) },
|
||||
{ LedId.Keyboard_Custom1, (0,17) },
|
||||
{ LedId.Keyboard_Custom2, (0,18) },
|
||||
{ LedId.Keyboard_Custom3, (0,19) },
|
||||
{ LedId.Keyboard_Custom4, (0,20) },
|
||||
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
|
||||
{ LedId.Keyboard_1, (1,1) },
|
||||
{ LedId.Keyboard_2, (1,2) },
|
||||
{ LedId.Keyboard_3, (1,3) },
|
||||
{ LedId.Keyboard_4, (1,4) },
|
||||
{ LedId.Keyboard_5, (1,5) },
|
||||
{ LedId.Keyboard_6, (1,6) },
|
||||
{ LedId.Keyboard_7, (1,7) },
|
||||
{ LedId.Keyboard_8, (1,8) },
|
||||
{ LedId.Keyboard_9, (1,9) },
|
||||
{ LedId.Keyboard_0, (1,10) },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
|
||||
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
|
||||
{ LedId.Keyboard_Backspace, (1,13) },
|
||||
{ LedId.Keyboard_Insert, (1,14) },
|
||||
{ LedId.Keyboard_Home, (1,15) },
|
||||
{ LedId.Keyboard_PageUp, (1,16) },
|
||||
{ LedId.Keyboard_NumLock, (1,17) },
|
||||
{ LedId.Keyboard_NumSlash, (1,18) },
|
||||
{ LedId.Keyboard_NumAsterisk, (1,19) },
|
||||
{ LedId.Keyboard_NumMinus, (1,20) },
|
||||
|
||||
{ LedId.Keyboard_Tab, (2,0) },
|
||||
{ LedId.Keyboard_Q, (2,1) },
|
||||
{ LedId.Keyboard_W, (2,2) },
|
||||
{ LedId.Keyboard_E, (2,3) },
|
||||
{ LedId.Keyboard_R, (2,4) },
|
||||
{ LedId.Keyboard_T, (2,5) },
|
||||
{ LedId.Keyboard_Y, (2,6) },
|
||||
{ LedId.Keyboard_U, (2,7) },
|
||||
{ LedId.Keyboard_I, (2,8) },
|
||||
{ LedId.Keyboard_O, (2,9) },
|
||||
{ LedId.Keyboard_P, (2,10) },
|
||||
{ LedId.Keyboard_BracketLeft, (2,11) },
|
||||
{ LedId.Keyboard_BracketRight, (2,12) },
|
||||
{ LedId.Keyboard_Backslash, (2,13) },
|
||||
{ LedId.Keyboard_Delete, (2,14) },
|
||||
{ LedId.Keyboard_End, (2,15) },
|
||||
{ LedId.Keyboard_PageDown, (2,16) },
|
||||
{ LedId.Keyboard_Num7, (2,17) },
|
||||
{ LedId.Keyboard_Num8, (2,18) },
|
||||
{ LedId.Keyboard_Num9, (2,19) },
|
||||
{ LedId.Keyboard_NumPlus, (2,20) },
|
||||
|
||||
{ LedId.Keyboard_CapsLock, (3,0) },
|
||||
{ LedId.Keyboard_A, (3,1) },
|
||||
{ LedId.Keyboard_S, (3,2) },
|
||||
{ LedId.Keyboard_D, (3,3) },
|
||||
{ LedId.Keyboard_F, (3,4) },
|
||||
{ LedId.Keyboard_G, (3,5) },
|
||||
{ LedId.Keyboard_H, (3,6) },
|
||||
{ LedId.Keyboard_J, (3,7) },
|
||||
{ LedId.Keyboard_K, (3,8) },
|
||||
{ LedId.Keyboard_L, (3,9) },
|
||||
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
|
||||
{ LedId.Keyboard_NonUsTilde, (3,12) },
|
||||
{ LedId.Keyboard_Enter, (3,13) },
|
||||
{ LedId.Keyboard_Num4, (3,17) },
|
||||
{ LedId.Keyboard_Num5, (3,18) },
|
||||
{ LedId.Keyboard_Num6, (3,19) },
|
||||
|
||||
{ LedId.Keyboard_LeftShift, (4,0) },
|
||||
{ LedId.Keyboard_NonUsBackslash, (4,1) },
|
||||
{ LedId.Keyboard_Z, (4,2) },
|
||||
{ LedId.Keyboard_X, (4,3) },
|
||||
{ LedId.Keyboard_C, (4,4) },
|
||||
{ LedId.Keyboard_V, (4,5) },
|
||||
{ LedId.Keyboard_B, (4,6) },
|
||||
{ LedId.Keyboard_N, (4,7) },
|
||||
{ LedId.Keyboard_M, (4,8) },
|
||||
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
|
||||
{ LedId.Keyboard_RightShift, (4,13) },
|
||||
{ LedId.Keyboard_ArrowUp, (4,15) },
|
||||
{ LedId.Keyboard_Num1, (4,17) },
|
||||
{ LedId.Keyboard_Num2, (4,18) },
|
||||
{ LedId.Keyboard_Num3, (4,19) },
|
||||
{ LedId.Keyboard_NumEnter, (4,20) },
|
||||
|
||||
{ LedId.Keyboard_LeftCtrl, (5,0) },
|
||||
{ LedId.Keyboard_LeftGui, (5,1) },
|
||||
{ LedId.Keyboard_LeftAlt, (5,2) },
|
||||
{ LedId.Keyboard_Space, (5,6) },
|
||||
{ LedId.Keyboard_RightAlt, (5,10) },
|
||||
{ LedId.Keyboard_RightGui, (5,11) },
|
||||
{ LedId.Keyboard_Application, (5,12) },
|
||||
{ LedId.Keyboard_RightCtrl, (5,13) },
|
||||
{ LedId.Keyboard_ArrowLeft, (5,14) },
|
||||
{ LedId.Keyboard_ArrowDown, (5,15) },
|
||||
{ LedId.Keyboard_ArrowRight, (5,16) },
|
||||
{ LedId.Keyboard_Num0, (5,18) },
|
||||
{ LedId.Keyboard_NumPeriodAndDelete, (5,19) }
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Contains all the hardware-id mappings for Wooting devices.
|
||||
/// </summary>
|
||||
public static readonly Dictionary<WootingDeviceType, Dictionary<WootingPhysicalKeyboardLayout, Dictionary<LedId, (int row, int column)>>> Mapping =
|
||||
new()
|
||||
{
|
||||
{ WootingDeviceType.KeyboardTKL, new Dictionary<WootingPhysicalKeyboardLayout, Dictionary<LedId, (int row, int column)>>
|
||||
{
|
||||
{ WootingPhysicalKeyboardLayout.US, TKL_US },
|
||||
{ WootingPhysicalKeyboardLayout.UK, TKL_UK }
|
||||
}
|
||||
},
|
||||
internal static class WootingKeyboardLedMappings
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
{ WootingDeviceType.Keyboard, new Dictionary<WootingPhysicalKeyboardLayout, Dictionary<LedId, (int row, int column)>>
|
||||
{
|
||||
{ WootingPhysicalKeyboardLayout.US, Fullsize_US },
|
||||
{ WootingPhysicalKeyboardLayout.UK, Fullsize_UK }
|
||||
}
|
||||
}
|
||||
private static readonly Dictionary<LedId, (int row, int column)> TKL = new()
|
||||
{
|
||||
{ LedId.Keyboard_Escape, (0,0) },
|
||||
{ LedId.Keyboard_F1, (0,2) },
|
||||
{ LedId.Keyboard_F2, (0,3) },
|
||||
{ LedId.Keyboard_F3, (0,4) },
|
||||
{ LedId.Keyboard_F4, (0,5) },
|
||||
{ LedId.Keyboard_F5, (0,6) },
|
||||
{ LedId.Keyboard_F6, (0,7) },
|
||||
{ LedId.Keyboard_F7, (0,8) },
|
||||
{ LedId.Keyboard_F8, (0,9) },
|
||||
{ LedId.Keyboard_F9, (0,10) },
|
||||
{ LedId.Keyboard_F10, (0,11) },
|
||||
{ LedId.Keyboard_F11, (0,12) },
|
||||
{ LedId.Keyboard_F12, (0,13) },
|
||||
{ LedId.Keyboard_PrintScreen, (0,14) },
|
||||
{ LedId.Keyboard_PauseBreak, (0,15) },
|
||||
{ LedId.Keyboard_Custom1, (0,16) },
|
||||
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
|
||||
{ LedId.Keyboard_1, (1,1) },
|
||||
{ LedId.Keyboard_2, (1,2) },
|
||||
{ LedId.Keyboard_3, (1,3) },
|
||||
{ LedId.Keyboard_4, (1,4) },
|
||||
{ LedId.Keyboard_5, (1,5) },
|
||||
{ LedId.Keyboard_6, (1,6) },
|
||||
{ LedId.Keyboard_7, (1,7) },
|
||||
{ LedId.Keyboard_8, (1,8) },
|
||||
{ LedId.Keyboard_9, (1,9) },
|
||||
{ LedId.Keyboard_0, (1,10) },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
|
||||
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
|
||||
{ LedId.Keyboard_Backspace, (1,13) },
|
||||
{ LedId.Keyboard_Insert, (1,14) },
|
||||
{ LedId.Keyboard_Home, (1,15) },
|
||||
{ LedId.Keyboard_PageUp, (1,16) },
|
||||
|
||||
{ LedId.Keyboard_Tab, (2,0) },
|
||||
{ LedId.Keyboard_Q, (2,1) },
|
||||
{ LedId.Keyboard_W, (2,2) },
|
||||
{ LedId.Keyboard_E, (2,3) },
|
||||
{ LedId.Keyboard_R, (2,4) },
|
||||
{ LedId.Keyboard_T, (2,5) },
|
||||
{ LedId.Keyboard_Y, (2,6) },
|
||||
{ LedId.Keyboard_U, (2,7) },
|
||||
{ LedId.Keyboard_I, (2,8) },
|
||||
{ LedId.Keyboard_O, (2,9) },
|
||||
{ LedId.Keyboard_P, (2,10) },
|
||||
{ LedId.Keyboard_BracketLeft, (2,11) },
|
||||
{ LedId.Keyboard_BracketRight, (2,12) },
|
||||
{ LedId.Keyboard_Backslash, (2,13) },
|
||||
{ LedId.Keyboard_Delete, (2,14) },
|
||||
{ LedId.Keyboard_End, (2,15) },
|
||||
{ LedId.Keyboard_PageDown, (2,16) },
|
||||
|
||||
{ LedId.Keyboard_CapsLock, (3,0) },
|
||||
{ LedId.Keyboard_A, (3,1) },
|
||||
{ LedId.Keyboard_S, (3,2) },
|
||||
{ LedId.Keyboard_D, (3,3) },
|
||||
{ LedId.Keyboard_F, (3,4) },
|
||||
{ LedId.Keyboard_G, (3,5) },
|
||||
{ LedId.Keyboard_H, (3,6) },
|
||||
{ LedId.Keyboard_J, (3,7) },
|
||||
{ LedId.Keyboard_K, (3,8) },
|
||||
{ LedId.Keyboard_L, (3,9) },
|
||||
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
|
||||
{ LedId.Keyboard_NonUsTilde, (3,12) },
|
||||
{ LedId.Keyboard_Enter, (3,13) },
|
||||
|
||||
{ LedId.Keyboard_LeftShift, (4,0) },
|
||||
{ LedId.Keyboard_NonUsBackslash, (4,1) },
|
||||
{ LedId.Keyboard_Z, (4,2) },
|
||||
{ LedId.Keyboard_X, (4,3) },
|
||||
{ LedId.Keyboard_C, (4,4) },
|
||||
{ LedId.Keyboard_V, (4,5) },
|
||||
{ LedId.Keyboard_B, (4,6) },
|
||||
{ LedId.Keyboard_N, (4,7) },
|
||||
{ LedId.Keyboard_M, (4,8) },
|
||||
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
|
||||
{ LedId.Keyboard_RightShift, (4,13) },
|
||||
{ LedId.Keyboard_ArrowUp, (4,15) },
|
||||
|
||||
{ LedId.Keyboard_LeftCtrl, (5,0) },
|
||||
{ LedId.Keyboard_LeftGui, (5,1) },
|
||||
{ LedId.Keyboard_LeftAlt, (5,2) },
|
||||
{ LedId.Keyboard_Space, (5,6) },
|
||||
{ LedId.Keyboard_RightAlt, (5,10) },
|
||||
{ LedId.Keyboard_RightGui, (5,11) },
|
||||
{ LedId.Keyboard_Application, (5,12) },
|
||||
{ LedId.Keyboard_RightCtrl, (5,13) },
|
||||
{ LedId.Keyboard_ArrowLeft, (5,14) },
|
||||
{ LedId.Keyboard_ArrowDown, (5,15) },
|
||||
{ LedId.Keyboard_ArrowRight, (5,16) }
|
||||
};
|
||||
|
||||
#endregion
|
||||
}
|
||||
private static readonly Dictionary<LedId, (int row, int column)> Fullsize = new()
|
||||
{
|
||||
{ LedId.Keyboard_Escape, (0,0) },
|
||||
{ LedId.Keyboard_F1, (0,2) },
|
||||
{ LedId.Keyboard_F2, (0,3) },
|
||||
{ LedId.Keyboard_F3, (0,4) },
|
||||
{ LedId.Keyboard_F4, (0,5) },
|
||||
{ LedId.Keyboard_F5, (0,6) },
|
||||
{ LedId.Keyboard_F6, (0,7) },
|
||||
{ LedId.Keyboard_F7, (0,8) },
|
||||
{ LedId.Keyboard_F8, (0,9) },
|
||||
{ LedId.Keyboard_F9, (0,10) },
|
||||
{ LedId.Keyboard_F10, (0,11) },
|
||||
{ LedId.Keyboard_F11, (0,12) },
|
||||
{ LedId.Keyboard_F12, (0,13) },
|
||||
{ LedId.Keyboard_PrintScreen, (0,14) },
|
||||
{ LedId.Keyboard_PauseBreak, (0,15) },
|
||||
{ LedId.Keyboard_ScrollLock, (0,16) },
|
||||
{ LedId.Keyboard_Custom1, (0,17) },
|
||||
{ LedId.Keyboard_Custom2, (0,18) },
|
||||
{ LedId.Keyboard_Custom3, (0,19) },
|
||||
{ LedId.Keyboard_Custom4, (0,20) },
|
||||
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
|
||||
{ LedId.Keyboard_1, (1,1) },
|
||||
{ LedId.Keyboard_2, (1,2) },
|
||||
{ LedId.Keyboard_3, (1,3) },
|
||||
{ LedId.Keyboard_4, (1,4) },
|
||||
{ LedId.Keyboard_5, (1,5) },
|
||||
{ LedId.Keyboard_6, (1,6) },
|
||||
{ LedId.Keyboard_7, (1,7) },
|
||||
{ LedId.Keyboard_8, (1,8) },
|
||||
{ LedId.Keyboard_9, (1,9) },
|
||||
{ LedId.Keyboard_0, (1,10) },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
|
||||
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
|
||||
{ LedId.Keyboard_Backspace, (1,13) },
|
||||
{ LedId.Keyboard_Insert, (1,14) },
|
||||
{ LedId.Keyboard_Home, (1,15) },
|
||||
{ LedId.Keyboard_PageUp, (1,16) },
|
||||
{ LedId.Keyboard_NumLock, (1,17) },
|
||||
{ LedId.Keyboard_NumSlash, (1,18) },
|
||||
{ LedId.Keyboard_NumAsterisk, (1,19) },
|
||||
{ LedId.Keyboard_NumMinus, (1,20) },
|
||||
|
||||
{ LedId.Keyboard_Tab, (2,0) },
|
||||
{ LedId.Keyboard_Q, (2,1) },
|
||||
{ LedId.Keyboard_W, (2,2) },
|
||||
{ LedId.Keyboard_E, (2,3) },
|
||||
{ LedId.Keyboard_R, (2,4) },
|
||||
{ LedId.Keyboard_T, (2,5) },
|
||||
{ LedId.Keyboard_Y, (2,6) },
|
||||
{ LedId.Keyboard_U, (2,7) },
|
||||
{ LedId.Keyboard_I, (2,8) },
|
||||
{ LedId.Keyboard_O, (2,9) },
|
||||
{ LedId.Keyboard_P, (2,10) },
|
||||
{ LedId.Keyboard_BracketLeft, (2,11) },
|
||||
{ LedId.Keyboard_BracketRight, (2,12) },
|
||||
{ LedId.Keyboard_Backslash, (2,13) },
|
||||
{ LedId.Keyboard_Delete, (2,14) },
|
||||
{ LedId.Keyboard_End, (2,15) },
|
||||
{ LedId.Keyboard_PageDown, (2,16) },
|
||||
{ LedId.Keyboard_Num7, (2,17) },
|
||||
{ LedId.Keyboard_Num8, (2,18) },
|
||||
{ LedId.Keyboard_Num9, (2,19) },
|
||||
{ LedId.Keyboard_NumPlus, (2,20) },
|
||||
|
||||
{ LedId.Keyboard_CapsLock, (3,0) },
|
||||
{ LedId.Keyboard_A, (3,1) },
|
||||
{ LedId.Keyboard_S, (3,2) },
|
||||
{ LedId.Keyboard_D, (3,3) },
|
||||
{ LedId.Keyboard_F, (3,4) },
|
||||
{ LedId.Keyboard_G, (3,5) },
|
||||
{ LedId.Keyboard_H, (3,6) },
|
||||
{ LedId.Keyboard_J, (3,7) },
|
||||
{ LedId.Keyboard_K, (3,8) },
|
||||
{ LedId.Keyboard_L, (3,9) },
|
||||
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
|
||||
{ LedId.Keyboard_NonUsTilde, (3,12) },
|
||||
{ LedId.Keyboard_Enter, (3,13) },
|
||||
{ LedId.Keyboard_Num4, (3,17) },
|
||||
{ LedId.Keyboard_Num5, (3,18) },
|
||||
{ LedId.Keyboard_Num6, (3,19) },
|
||||
|
||||
{ LedId.Keyboard_LeftShift, (4,0) },
|
||||
{ LedId.Keyboard_NonUsBackslash, (4,1) },
|
||||
{ LedId.Keyboard_Z, (4,2) },
|
||||
{ LedId.Keyboard_X, (4,3) },
|
||||
{ LedId.Keyboard_C, (4,4) },
|
||||
{ LedId.Keyboard_V, (4,5) },
|
||||
{ LedId.Keyboard_B, (4,6) },
|
||||
{ LedId.Keyboard_N, (4,7) },
|
||||
{ LedId.Keyboard_M, (4,8) },
|
||||
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
|
||||
{ LedId.Keyboard_RightShift, (4,13) },
|
||||
{ LedId.Keyboard_ArrowUp, (4,15) },
|
||||
{ LedId.Keyboard_Num1, (4,17) },
|
||||
{ LedId.Keyboard_Num2, (4,18) },
|
||||
{ LedId.Keyboard_Num3, (4,19) },
|
||||
{ LedId.Keyboard_NumEnter, (4,20) },
|
||||
|
||||
{ LedId.Keyboard_LeftCtrl, (5,0) },
|
||||
{ LedId.Keyboard_LeftGui, (5,1) },
|
||||
{ LedId.Keyboard_LeftAlt, (5,2) },
|
||||
{ LedId.Keyboard_Space, (5,6) },
|
||||
{ LedId.Keyboard_RightAlt, (5,10) },
|
||||
{ LedId.Keyboard_RightGui, (5,11) },
|
||||
{ LedId.Keyboard_Application, (5,12) },
|
||||
{ LedId.Keyboard_RightCtrl, (5,13) },
|
||||
{ LedId.Keyboard_ArrowLeft, (5,14) },
|
||||
{ LedId.Keyboard_ArrowDown, (5,15) },
|
||||
{ LedId.Keyboard_ArrowRight, (5,16) },
|
||||
{ LedId.Keyboard_Num0, (5,18) },
|
||||
{ LedId.Keyboard_NumPeriodAndDelete, (5,19) }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Contains all the hardware-id mappings for Wooting devices.
|
||||
/// </summary>
|
||||
public static readonly Dictionary<WootingDeviceType, Dictionary<LedId, (int row, int column)>> Mapping = new()
|
||||
{
|
||||
[WootingDeviceType.Keyboard] = Fullsize,
|
||||
[WootingDeviceType.KeyboardTKL] = TKL
|
||||
};
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,52 +3,52 @@ using RGB.NET.Core;
|
||||
using RGB.NET.Devices.Wooting.Enum;
|
||||
using RGB.NET.Devices.Wooting.Generic;
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Keyboard;
|
||||
|
||||
/// <inheritdoc cref="WootingRGBDevice{TDeviceInfo}" />
|
||||
/// <summary>
|
||||
/// Represents a Wooting keyboard.
|
||||
/// </summary>
|
||||
public class WootingKeyboardRGBDevice : WootingRGBDevice<WootingKeyboardRGBDeviceInfo>, IKeyboard
|
||||
namespace RGB.NET.Devices.Wooting.Keyboard
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
IKeyboardDeviceInfo IKeyboard.DeviceInfo => DeviceInfo;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <inheritdoc cref="WootingRGBDevice{TDeviceInfo}" />
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="T:RGB.NET.Devices.Wooting.Keyboard.WootingKeyboardRGBDevice" /> class.
|
||||
/// Represents a Wooting keyboard.
|
||||
/// </summary>
|
||||
/// <param name="info">The specific information provided by Wooting for the keyboard</param>
|
||||
/// <param name="updateTrigger">The update trigger used to update this device.</param>
|
||||
internal WootingKeyboardRGBDevice(WootingKeyboardRGBDeviceInfo info, IDeviceUpdateTrigger updateTrigger)
|
||||
: base(info, updateTrigger)
|
||||
public class WootingKeyboardRGBDevice : WootingRGBDevice<WootingKeyboardRGBDeviceInfo>, IKeyboard
|
||||
{
|
||||
InitializeLayout();
|
||||
#region Properties & Fields
|
||||
|
||||
IKeyboardDeviceInfo IKeyboard.DeviceInfo => DeviceInfo;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="T:RGB.NET.Devices.Wooting.Keyboard.WootingKeyboardRGBDevice" /> class.
|
||||
/// </summary>
|
||||
/// <param name="info">The specific information provided by Wooting for the keyboard</param>
|
||||
/// <param name="updateTrigger">The update trigger used to update this device.</param>
|
||||
internal WootingKeyboardRGBDevice(WootingKeyboardRGBDeviceInfo info, IDeviceUpdateTrigger updateTrigger)
|
||||
: base(info, updateTrigger)
|
||||
{
|
||||
InitializeLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
private void InitializeLayout()
|
||||
{
|
||||
Dictionary<LedId, (int row, int column)> mapping = WootingKeyboardLedMappings.Mapping[DeviceInfo.WootingDeviceType];
|
||||
|
||||
foreach (KeyValuePair<LedId, (int row, int column)> led in mapping)
|
||||
AddLed(led.Key, new Point(led.Value.column * 19, led.Value.row * 19), new Size(19, 19));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override object GetLedCustomData(LedId ledId) => WootingKeyboardLedMappings.Mapping[DeviceInfo.WootingDeviceType][ledId];
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UpdateLeds(IEnumerable<Led> ledsToUpdate) => UpdateQueue.SetData(GetUpdateData(ledsToUpdate));
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
private void InitializeLayout()
|
||||
{
|
||||
//TODO DarthAffe 13.02.2021: Check how the mapping can work without knowing the physical layout
|
||||
Dictionary<LedId, (int row, int column)> mapping = WootingKeyboardLedMappings.Mapping[DeviceInfo.WootingDeviceType][WootingPhysicalKeyboardLayout.US];
|
||||
|
||||
foreach (KeyValuePair<LedId, (int row, int column)> led in mapping)
|
||||
AddLed(led.Key, new Point(led.Value.column * 19, led.Value.row * 19), new Size(19, 19));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override object GetLedCustomData(LedId ledId) => WootingKeyboardLedMappings.Mapping[DeviceInfo.WootingDeviceType][WootingPhysicalKeyboardLayout.US][ledId];
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UpdateLeds(IEnumerable<Led> ledsToUpdate) => UpdateQueue.SetData(GetUpdateData(ledsToUpdate));
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,31 +1,40 @@
|
||||
using RGB.NET.Core;
|
||||
using RGB.NET.Devices.Wooting.Enum;
|
||||
using RGB.NET.Devices.Wooting.Generic;
|
||||
using RGB.NET.Devices.Wooting.Native;
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Keyboard;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a generic information for a <see cref="T:RGB.NET.Devices.Wooting.Keyboard.WootingKeyboardRGBDevice" />.
|
||||
/// </summary>
|
||||
public class WootingKeyboardRGBDeviceInfo : WootingRGBDeviceInfo, IKeyboardDeviceInfo
|
||||
namespace RGB.NET.Devices.Wooting.Keyboard
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <inheritdoc />
|
||||
public KeyboardLayoutType Layout => KeyboardLayoutType.Unknown;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Internal constructor of managed <see cref="T:RGB.NET.Devices.Wooting.WootingKeyboardRGBDeviceInfo" />.
|
||||
/// Represents a generic information for a <see cref="T:RGB.NET.Devices.Wooting.Keyboard.WootingKeyboardRGBDevice" />.
|
||||
/// </summary>
|
||||
/// <param name="deviceInfo">The native <see cref="T:RGB.NET.Devices.Wooting.Native._WootingDeviceInfo" />.</param>
|
||||
internal WootingKeyboardRGBDeviceInfo(_WootingDeviceInfo deviceInfo)
|
||||
: base(RGBDeviceType.Keyboard, deviceInfo)
|
||||
{ }
|
||||
public class WootingKeyboardRGBDeviceInfo : WootingRGBDeviceInfo, IKeyboardDeviceInfo
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
#endregion
|
||||
}
|
||||
/// <inheritdoc />
|
||||
public KeyboardLayoutType Layout { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Internal constructor of managed <see cref="T:RGB.NET.Devices.Wooting.WootingKeyboardRGBDeviceInfo" />.
|
||||
/// </summary>
|
||||
/// <param name="deviceInfo">The native <see cref="T:RGB.NET.Devices.Wooting.Native._WootingDeviceInfo" />.</param>
|
||||
internal WootingKeyboardRGBDeviceInfo(_WootingDeviceInfo deviceInfo)
|
||||
: base(RGBDeviceType.Keyboard, deviceInfo)
|
||||
{
|
||||
Layout = WootingLayoutType switch
|
||||
{
|
||||
WootingLayoutType.ANSI => KeyboardLayoutType.ANSI,
|
||||
WootingLayoutType.ISO => KeyboardLayoutType.ISO,
|
||||
_ => KeyboardLayoutType.Unknown
|
||||
};
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,22 +4,25 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using RGB.NET.Devices.Wooting.Enum;
|
||||
|
||||
namespace RGB.NET.Devices.Wooting.Native;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct _WootingDeviceInfo
|
||||
namespace RGB.NET.Devices.Wooting.Native
|
||||
{
|
||||
internal bool Connected { get; private set; }
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal struct _WootingDeviceInfo
|
||||
{
|
||||
internal bool Connected { get; private set; }
|
||||
|
||||
internal string Model { get; private set; }
|
||||
internal string Model { get; private set; }
|
||||
|
||||
internal byte MaxRows { get; private set; }
|
||||
internal byte MaxRows { get; private set; }
|
||||
|
||||
internal byte MaxColumns { get; private set; }
|
||||
internal byte MaxColumns { get; private set; }
|
||||
|
||||
internal byte KeycodeLimit { get; private set; }
|
||||
internal byte KeycodeLimit { get; private set; }
|
||||
|
||||
internal WootingDeviceType DeviceType { get; private set; }
|
||||
internal WootingDeviceType DeviceType { get; private set; }
|
||||
|
||||
internal bool V2Interface { get; set; }
|
||||
}
|
||||
internal bool V2Interface { get; set; }
|
||||
|
||||
internal WootingLayoutType LayoutType { get; private set; }
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user