diff --git a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
index 57c0440..7acd75e 100644
--- a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
+++ b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
@@ -139,6 +139,10 @@ public class CorsairDeviceProvider : AbstractRGBDeviceProvider
yield return new CorsairGraphicsCardRGBDevice(new CorsairGraphicsCardRGBDeviceInfo(i, nativeDeviceInfo), updateQueue);
break;
+ case CorsairDeviceType.Touchbar:
+ yield return new CorsairTouchbarRGBDevice(new CorsairTouchbarRGBDeviceInfo(i, nativeDeviceInfo), updateQueue);
+ break;
+
case CorsairDeviceType.Cooler:
case CorsairDeviceType.CommanderPro:
case CorsairDeviceType.LightningNodePro:
diff --git a/RGB.NET.Devices.Corsair/Enum/CorsairDeviceType.cs b/RGB.NET.Devices.Corsair/Enum/CorsairDeviceType.cs
index 7e44eca..a409c5d 100644
--- a/RGB.NET.Devices.Corsair/Enum/CorsairDeviceType.cs
+++ b/RGB.NET.Devices.Corsair/Enum/CorsairDeviceType.cs
@@ -22,5 +22,6 @@ public enum CorsairDeviceType
MemoryModule = 8,
Cooler = 9,
Mainboard = 10,
- GraphicsCard = 11
+ GraphicsCard = 11,
+ Touchbar = 12
};
\ No newline at end of file
diff --git a/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj.DotSettings b/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj.DotSettings
index f37e8f8..eeca971 100644
--- a/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj.DotSettings
+++ b/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj.DotSettings
@@ -18,4 +18,5 @@
True
True
True
+ True
\ No newline at end of file
diff --git a/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs
new file mode 100644
index 0000000..092e84c
--- /dev/null
+++ b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs
@@ -0,0 +1,27 @@
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedMember.Global
+
+using RGB.NET.Core;
+
+namespace RGB.NET.Devices.Corsair;
+
+///
+///
+/// Represents a corsair touchbar.
+///
+public class CorsairTouchbarRGBDevice : CorsairRGBDevice, IDRAM
+{
+ #region Constructors
+
+ ///
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The specific information provided by CUE for the touchbar.
+ /// The queue used to update this device.
+ internal CorsairTouchbarRGBDevice(CorsairTouchbarRGBDeviceInfo info, CorsairDeviceUpdateQueue updateQueue)
+ : base(info, LedMappings.Keyboard, updateQueue) //TODO DarthAffe 17.07.2022: Find someone with such a device and check which LedIds are actually used
+ { }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs
new file mode 100644
index 0000000..9ee690c
--- /dev/null
+++ b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs
@@ -0,0 +1,28 @@
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedMember.Global
+
+using RGB.NET.Core;
+using RGB.NET.Devices.Corsair.Native;
+
+namespace RGB.NET.Devices.Corsair;
+
+///
+///
+/// Represents a generic information for a .
+///
+public class CorsairTouchbarRGBDeviceInfo : CorsairRGBDeviceInfo
+{
+ #region Constructors
+
+ ///
+ ///
+ /// Internal constructor of managed .
+ ///
+ /// The index of the .
+ /// The native -struct
+ internal CorsairTouchbarRGBDeviceInfo(int deviceIndex, _CorsairDeviceInfo nativeInfo)
+ : base(deviceIndex, RGBDeviceType.Keypad, nativeInfo)
+ { }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/RGB.NET.Devices.Novation/Enum/NovationDevices.cs b/RGB.NET.Devices.Novation/Enum/NovationDevices.cs
index 79fb34f..11ae6e0 100644
--- a/RGB.NET.Devices.Novation/Enum/NovationDevices.cs
+++ b/RGB.NET.Devices.Novation/Enum/NovationDevices.cs
@@ -24,5 +24,15 @@ public enum NovationDevices
[DeviceId("Launchpad MK2")]
[ColorCapability(NovationColorCapabilities.RGB)]
[LedIdMapping(LedIdMappings.Current)]
- LaunchpadMK2
+ LaunchpadMK2,
+
+ [DeviceId("Launchpad Pro")]
+ [ColorCapability(NovationColorCapabilities.RGB)]
+ [LedIdMapping(LedIdMappings.Pro)]
+ LaunchpadPro,
+
+ [DeviceId("Launchpad Open")]
+ [ColorCapability(NovationColorCapabilities.RGB)]
+ [LedIdMapping(LedIdMappings.Pro)]
+ LaunchpadCustomFirmware
}
\ No newline at end of file
diff --git a/RGB.NET.Devices.Novation/Launchpad/LaunchpadIdMapping.cs b/RGB.NET.Devices.Novation/Launchpad/LaunchpadIdMapping.cs
index 3b710e1..81a6793 100644
--- a/RGB.NET.Devices.Novation/Launchpad/LaunchpadIdMapping.cs
+++ b/RGB.NET.Devices.Novation/Launchpad/LaunchpadIdMapping.cs
@@ -6,178 +6,284 @@ namespace RGB.NET.Devices.Novation;
internal static class LaunchpadIdMapping
{
internal static readonly Dictionary LEGACY = new()
- {
- { LedId.Invalid, (0x00, 0xFF, 8, 0) },
+ {
+ { LedId.Invalid, (0x00, 0xFF, 8, 0) },
- { LedId.LedMatrix1, (0x90, 0x00, 0, 1) },
- { LedId.LedMatrix2, (0x90, 0x01, 1, 1) },
- { LedId.LedMatrix3, (0x90, 0x02, 2, 1) },
- { LedId.LedMatrix4, (0x90, 0x03, 3, 1) },
- { LedId.LedMatrix5, (0x90, 0x04, 4, 1) },
- { LedId.LedMatrix6, (0x90, 0x05, 5, 1) },
- { LedId.LedMatrix7, (0x90, 0x06, 6, 1) },
- { LedId.LedMatrix8, (0x90, 0x07, 7, 1) },
- { LedId.LedMatrix9, (0x90, 0x10, 0, 2) },
- { LedId.LedMatrix10, (0x90, 0x11, 1, 2) },
- { LedId.LedMatrix11, (0x90, 0x12, 2, 2) },
- { LedId.LedMatrix12, (0x90, 0x13, 3, 2) },
- { LedId.LedMatrix13, (0x90, 0x14, 4, 2) },
- { LedId.LedMatrix14, (0x90, 0x15, 5, 2) },
- { LedId.LedMatrix15, (0x90, 0x16, 6, 2) },
- { LedId.LedMatrix16, (0x90, 0x17, 7, 2) },
- { LedId.LedMatrix17, (0x90, 0x20, 0, 3) },
- { LedId.LedMatrix18, (0x90, 0x21, 1, 3) },
- { LedId.LedMatrix19, (0x90, 0x22, 2, 3) },
- { LedId.LedMatrix20, (0x90, 0x23, 3, 3) },
- { LedId.LedMatrix21, (0x90, 0x24, 4, 3) },
- { LedId.LedMatrix22, (0x90, 0x25, 5, 3) },
- { LedId.LedMatrix23, (0x90, 0x26, 6, 3) },
- { LedId.LedMatrix24, (0x90, 0x27, 7, 3) },
- { LedId.LedMatrix25, (0x90, 0x30, 0, 4) },
- { LedId.LedMatrix26, (0x90, 0x31, 1, 4) },
- { LedId.LedMatrix27, (0x90, 0x32, 2, 4) },
- { LedId.LedMatrix28, (0x90, 0x33, 3, 4) },
- { LedId.LedMatrix29, (0x90, 0x34, 4, 4) },
- { LedId.LedMatrix30, (0x90, 0x35, 5, 4) },
- { LedId.LedMatrix31, (0x90, 0x36, 6, 4) },
- { LedId.LedMatrix32, (0x90, 0x37, 7, 4) },
- { LedId.LedMatrix33, (0x90, 0x40, 0, 5) },
- { LedId.LedMatrix34, (0x90, 0x41, 1, 5) },
- { LedId.LedMatrix35, (0x90, 0x42, 2, 5) },
- { LedId.LedMatrix36, (0x90, 0x43, 3, 5) },
- { LedId.LedMatrix37, (0x90, 0x44, 4, 5) },
- { LedId.LedMatrix38, (0x90, 0x45, 5, 5) },
- { LedId.LedMatrix39, (0x90, 0x46, 6, 5) },
- { LedId.LedMatrix40, (0x90, 0x47, 7, 5) },
- { LedId.LedMatrix41, (0x90, 0x50, 0, 6) },
- { LedId.LedMatrix42, (0x90, 0x51, 1, 6) },
- { LedId.LedMatrix43, (0x90, 0x52, 2, 6) },
- { LedId.LedMatrix44, (0x90, 0x53, 3, 6) },
- { LedId.LedMatrix45, (0x90, 0x54, 4, 6) },
- { LedId.LedMatrix46, (0x90, 0x55, 5, 6) },
- { LedId.LedMatrix47, (0x90, 0x56, 6, 6) },
- { LedId.LedMatrix48, (0x90, 0x57, 7, 6) },
- { LedId.LedMatrix49, (0x90, 0x60, 0, 7) },
- { LedId.LedMatrix50, (0x90, 0x61, 1, 7) },
- { LedId.LedMatrix51, (0x90, 0x62, 2, 7) },
- { LedId.LedMatrix52, (0x90, 0x63, 3, 7) },
- { LedId.LedMatrix53, (0x90, 0x64, 4, 7) },
- { LedId.LedMatrix54, (0x90, 0x65, 5, 7) },
- { LedId.LedMatrix55, (0x90, 0x66, 6, 7) },
- { LedId.LedMatrix56, (0x90, 0x67, 7, 7) },
- { LedId.LedMatrix57, (0x90, 0x70, 0, 8) },
- { LedId.LedMatrix58, (0x90, 0x71, 1, 8) },
- { LedId.LedMatrix59, (0x90, 0x72, 2, 8) },
- { LedId.LedMatrix60, (0x90, 0x73, 3, 8) },
- { LedId.LedMatrix61, (0x90, 0x74, 4, 8) },
- { LedId.LedMatrix62, (0x90, 0x75, 5, 8) },
- { LedId.LedMatrix63, (0x90, 0x76, 6, 8) },
- { LedId.LedMatrix64, (0x90, 0x77, 7, 8) },
+ { LedId.LedMatrix1, (0x90, 0x00, 0, 1) },
+ { LedId.LedMatrix2, (0x90, 0x01, 1, 1) },
+ { LedId.LedMatrix3, (0x90, 0x02, 2, 1) },
+ { LedId.LedMatrix4, (0x90, 0x03, 3, 1) },
+ { LedId.LedMatrix5, (0x90, 0x04, 4, 1) },
+ { LedId.LedMatrix6, (0x90, 0x05, 5, 1) },
+ { LedId.LedMatrix7, (0x90, 0x06, 6, 1) },
+ { LedId.LedMatrix8, (0x90, 0x07, 7, 1) },
+ { LedId.LedMatrix9, (0x90, 0x10, 0, 2) },
+ { LedId.LedMatrix10, (0x90, 0x11, 1, 2) },
+ { LedId.LedMatrix11, (0x90, 0x12, 2, 2) },
+ { LedId.LedMatrix12, (0x90, 0x13, 3, 2) },
+ { LedId.LedMatrix13, (0x90, 0x14, 4, 2) },
+ { LedId.LedMatrix14, (0x90, 0x15, 5, 2) },
+ { LedId.LedMatrix15, (0x90, 0x16, 6, 2) },
+ { LedId.LedMatrix16, (0x90, 0x17, 7, 2) },
+ { LedId.LedMatrix17, (0x90, 0x20, 0, 3) },
+ { LedId.LedMatrix18, (0x90, 0x21, 1, 3) },
+ { LedId.LedMatrix19, (0x90, 0x22, 2, 3) },
+ { LedId.LedMatrix20, (0x90, 0x23, 3, 3) },
+ { LedId.LedMatrix21, (0x90, 0x24, 4, 3) },
+ { LedId.LedMatrix22, (0x90, 0x25, 5, 3) },
+ { LedId.LedMatrix23, (0x90, 0x26, 6, 3) },
+ { LedId.LedMatrix24, (0x90, 0x27, 7, 3) },
+ { LedId.LedMatrix25, (0x90, 0x30, 0, 4) },
+ { LedId.LedMatrix26, (0x90, 0x31, 1, 4) },
+ { LedId.LedMatrix27, (0x90, 0x32, 2, 4) },
+ { LedId.LedMatrix28, (0x90, 0x33, 3, 4) },
+ { LedId.LedMatrix29, (0x90, 0x34, 4, 4) },
+ { LedId.LedMatrix30, (0x90, 0x35, 5, 4) },
+ { LedId.LedMatrix31, (0x90, 0x36, 6, 4) },
+ { LedId.LedMatrix32, (0x90, 0x37, 7, 4) },
+ { LedId.LedMatrix33, (0x90, 0x40, 0, 5) },
+ { LedId.LedMatrix34, (0x90, 0x41, 1, 5) },
+ { LedId.LedMatrix35, (0x90, 0x42, 2, 5) },
+ { LedId.LedMatrix36, (0x90, 0x43, 3, 5) },
+ { LedId.LedMatrix37, (0x90, 0x44, 4, 5) },
+ { LedId.LedMatrix38, (0x90, 0x45, 5, 5) },
+ { LedId.LedMatrix39, (0x90, 0x46, 6, 5) },
+ { LedId.LedMatrix40, (0x90, 0x47, 7, 5) },
+ { LedId.LedMatrix41, (0x90, 0x50, 0, 6) },
+ { LedId.LedMatrix42, (0x90, 0x51, 1, 6) },
+ { LedId.LedMatrix43, (0x90, 0x52, 2, 6) },
+ { LedId.LedMatrix44, (0x90, 0x53, 3, 6) },
+ { LedId.LedMatrix45, (0x90, 0x54, 4, 6) },
+ { LedId.LedMatrix46, (0x90, 0x55, 5, 6) },
+ { LedId.LedMatrix47, (0x90, 0x56, 6, 6) },
+ { LedId.LedMatrix48, (0x90, 0x57, 7, 6) },
+ { LedId.LedMatrix49, (0x90, 0x60, 0, 7) },
+ { LedId.LedMatrix50, (0x90, 0x61, 1, 7) },
+ { LedId.LedMatrix51, (0x90, 0x62, 2, 7) },
+ { LedId.LedMatrix52, (0x90, 0x63, 3, 7) },
+ { LedId.LedMatrix53, (0x90, 0x64, 4, 7) },
+ { LedId.LedMatrix54, (0x90, 0x65, 5, 7) },
+ { LedId.LedMatrix55, (0x90, 0x66, 6, 7) },
+ { LedId.LedMatrix56, (0x90, 0x67, 7, 7) },
+ { LedId.LedMatrix57, (0x90, 0x70, 0, 8) },
+ { LedId.LedMatrix58, (0x90, 0x71, 1, 8) },
+ { LedId.LedMatrix59, (0x90, 0x72, 2, 8) },
+ { LedId.LedMatrix60, (0x90, 0x73, 3, 8) },
+ { LedId.LedMatrix61, (0x90, 0x74, 4, 8) },
+ { LedId.LedMatrix62, (0x90, 0x75, 5, 8) },
+ { LedId.LedMatrix63, (0x90, 0x76, 6, 8) },
+ { LedId.LedMatrix64, (0x90, 0x77, 7, 8) },
- { LedId.Custom1, (0xB0, 0x68, 0, 0) }, // Up
- { LedId.Custom2, (0xB0, 0x69, 1, 0) }, // Down
- { LedId.Custom3, (0xB0, 0x6A, 2, 0) }, // Left
- { LedId.Custom4, (0xB0, 0x6B, 3, 0) }, // Right
- { LedId.Custom5, (0xB0, 0x6C, 4, 0) }, // Session
- { LedId.Custom6, (0xB0, 0x6D, 5, 0) }, // User 1
- { LedId.Custom7, (0xB0, 0x6E, 6, 0) }, // User 2
- { LedId.Custom8, (0xB0, 0x6F, 7, 0) }, // Mix
+ { LedId.Custom1, (0xB0, 0x68, 0, 0) }, // Up
+ { LedId.Custom2, (0xB0, 0x69, 1, 0) }, // Down
+ { LedId.Custom3, (0xB0, 0x6A, 2, 0) }, // Left
+ { LedId.Custom4, (0xB0, 0x6B, 3, 0) }, // Right
+ { LedId.Custom5, (0xB0, 0x6C, 4, 0) }, // Session
+ { LedId.Custom6, (0xB0, 0x6D, 5, 0) }, // User 1
+ { LedId.Custom7, (0xB0, 0x6E, 6, 0) }, // User 2
+ { LedId.Custom8, (0xB0, 0x6F, 7, 0) }, // Mix
- { LedId.Custom9, (0x90, 0x08, 8, 1) }, //Scene1
- { LedId.Custom10, (0x90, 0x18, 8, 2) }, //Scene2
- { LedId.Custom11, (0x90, 0x28, 8, 3) }, //Scene3
- { LedId.Custom12, (0x90, 0x38, 8, 4) }, //Scene4
- { LedId.Custom13, (0x90, 0x48, 8, 5) }, //Scene5
- { LedId.Custom14, (0x90, 0x58, 8, 6) }, //Scene6
- { LedId.Custom15, (0x90, 0x68, 8, 7) }, //Scene7
- { LedId.Custom16, (0x90, 0x78, 8, 8) }, //Scene8
- };
+ { LedId.Custom9, (0x90, 0x08, 8, 1) }, //Scene1
+ { LedId.Custom10, (0x90, 0x18, 8, 2) }, //Scene2
+ { LedId.Custom11, (0x90, 0x28, 8, 3) }, //Scene3
+ { LedId.Custom12, (0x90, 0x38, 8, 4) }, //Scene4
+ { LedId.Custom13, (0x90, 0x48, 8, 5) }, //Scene5
+ { LedId.Custom14, (0x90, 0x58, 8, 6) }, //Scene6
+ { LedId.Custom15, (0x90, 0x68, 8, 7) }, //Scene7
+ { LedId.Custom16, (0x90, 0x78, 8, 8) }, //Scene8
+ };
internal static readonly Dictionary CURRENT = new()
- {
- { LedId.Invalid, (0x00, 0xFF, 8, 0) },
+ {
+ { LedId.Invalid, (0x00, 0xFF, 8, 0) },
- { LedId.LedMatrix1, (0x90, 81, 0, 1) },
- { LedId.LedMatrix2, (0x90, 82, 1, 1) },
- { LedId.LedMatrix3, (0x90, 83, 2, 1) },
- { LedId.LedMatrix4, (0x90, 84, 3, 1) },
- { LedId.LedMatrix5, (0x90, 85, 4, 1) },
- { LedId.LedMatrix6, (0x90, 86, 5, 1) },
- { LedId.LedMatrix7, (0x90, 87, 6, 1) },
- { LedId.LedMatrix8, (0x90, 88, 7, 1) },
- { LedId.LedMatrix9, (0x90, 71, 0, 2) },
- { LedId.LedMatrix10, (0x90, 72, 1, 2) },
- { LedId.LedMatrix11, (0x90, 73, 2, 2) },
- { LedId.LedMatrix12, (0x90, 74, 3, 2) },
- { LedId.LedMatrix13, (0x90, 75, 4, 2) },
- { LedId.LedMatrix14, (0x90, 76, 5, 2) },
- { LedId.LedMatrix15, (0x90, 77, 6, 2) },
- { LedId.LedMatrix16, (0x90, 78, 7, 2) },
- { LedId.LedMatrix17, (0x90, 61, 0, 3) },
- { LedId.LedMatrix18, (0x90, 62, 1, 3) },
- { LedId.LedMatrix19, (0x90, 63, 2, 3) },
- { LedId.LedMatrix20, (0x90, 64, 3, 3) },
- { LedId.LedMatrix21, (0x90, 65, 4, 3) },
- { LedId.LedMatrix22, (0x90, 66, 5, 3) },
- { LedId.LedMatrix23, (0x90, 67, 6, 3) },
- { LedId.LedMatrix24, (0x90, 68, 7, 3) },
- { LedId.LedMatrix25, (0x90, 51, 0, 4) },
- { LedId.LedMatrix26, (0x90, 52, 1, 4) },
- { LedId.LedMatrix27, (0x90, 53, 2, 4) },
- { LedId.LedMatrix28, (0x90, 54, 3, 4) },
- { LedId.LedMatrix29, (0x90, 55, 4, 4) },
- { LedId.LedMatrix30, (0x90, 56, 5, 4) },
- { LedId.LedMatrix31, (0x90, 57, 6, 4) },
- { LedId.LedMatrix32, (0x90, 58, 7, 4) },
- { LedId.LedMatrix33, (0x90, 41, 0, 5) },
- { LedId.LedMatrix34, (0x90, 42, 1, 5) },
- { LedId.LedMatrix35, (0x90, 43, 2, 5) },
- { LedId.LedMatrix36, (0x90, 44, 3, 5) },
- { LedId.LedMatrix37, (0x90, 45, 4, 5) },
- { LedId.LedMatrix38, (0x90, 46, 5, 5) },
- { LedId.LedMatrix39, (0x90, 47, 6, 5) },
- { LedId.LedMatrix40, (0x90, 48, 7, 5) },
- { LedId.LedMatrix41, (0x90, 31, 0, 6) },
- { LedId.LedMatrix42, (0x90, 32, 1, 6) },
- { LedId.LedMatrix43, (0x90, 33, 2, 6) },
- { LedId.LedMatrix44, (0x90, 34, 3, 6) },
- { LedId.LedMatrix45, (0x90, 35, 4, 6) },
- { LedId.LedMatrix46, (0x90, 36, 5, 6) },
- { LedId.LedMatrix47, (0x90, 37, 6, 6) },
- { LedId.LedMatrix48, (0x90, 38, 7, 6) },
- { LedId.LedMatrix49, (0x90, 21, 0, 7) },
- { LedId.LedMatrix50, (0x90, 22, 1, 7) },
- { LedId.LedMatrix51, (0x90, 23, 2, 7) },
- { LedId.LedMatrix52, (0x90, 24, 3, 7) },
- { LedId.LedMatrix53, (0x90, 25, 4, 7) },
- { LedId.LedMatrix54, (0x90, 26, 5, 7) },
- { LedId.LedMatrix55, (0x90, 27, 6, 7) },
- { LedId.LedMatrix56, (0x90, 28, 7, 7) },
- { LedId.LedMatrix57, (0x90, 11, 0, 8) },
- { LedId.LedMatrix58, (0x90, 12, 1, 8) },
- { LedId.LedMatrix59, (0x90, 13, 2, 8) },
- { LedId.LedMatrix60, (0x90, 14, 3, 8) },
- { LedId.LedMatrix61, (0x90, 15, 4, 8) },
- { LedId.LedMatrix62, (0x90, 16, 5, 8) },
- { LedId.LedMatrix63, (0x90, 17, 6, 8) },
- { LedId.LedMatrix64, (0x90, 18, 7, 8) },
+ { LedId.LedMatrix1, (0x90, 81, 0, 1) },
+ { LedId.LedMatrix2, (0x90, 82, 1, 1) },
+ { LedId.LedMatrix3, (0x90, 83, 2, 1) },
+ { LedId.LedMatrix4, (0x90, 84, 3, 1) },
+ { LedId.LedMatrix5, (0x90, 85, 4, 1) },
+ { LedId.LedMatrix6, (0x90, 86, 5, 1) },
+ { LedId.LedMatrix7, (0x90, 87, 6, 1) },
+ { LedId.LedMatrix8, (0x90, 88, 7, 1) },
+ { LedId.LedMatrix9, (0x90, 71, 0, 2) },
+ { LedId.LedMatrix10, (0x90, 72, 1, 2) },
+ { LedId.LedMatrix11, (0x90, 73, 2, 2) },
+ { LedId.LedMatrix12, (0x90, 74, 3, 2) },
+ { LedId.LedMatrix13, (0x90, 75, 4, 2) },
+ { LedId.LedMatrix14, (0x90, 76, 5, 2) },
+ { LedId.LedMatrix15, (0x90, 77, 6, 2) },
+ { LedId.LedMatrix16, (0x90, 78, 7, 2) },
+ { LedId.LedMatrix17, (0x90, 61, 0, 3) },
+ { LedId.LedMatrix18, (0x90, 62, 1, 3) },
+ { LedId.LedMatrix19, (0x90, 63, 2, 3) },
+ { LedId.LedMatrix20, (0x90, 64, 3, 3) },
+ { LedId.LedMatrix21, (0x90, 65, 4, 3) },
+ { LedId.LedMatrix22, (0x90, 66, 5, 3) },
+ { LedId.LedMatrix23, (0x90, 67, 6, 3) },
+ { LedId.LedMatrix24, (0x90, 68, 7, 3) },
+ { LedId.LedMatrix25, (0x90, 51, 0, 4) },
+ { LedId.LedMatrix26, (0x90, 52, 1, 4) },
+ { LedId.LedMatrix27, (0x90, 53, 2, 4) },
+ { LedId.LedMatrix28, (0x90, 54, 3, 4) },
+ { LedId.LedMatrix29, (0x90, 55, 4, 4) },
+ { LedId.LedMatrix30, (0x90, 56, 5, 4) },
+ { LedId.LedMatrix31, (0x90, 57, 6, 4) },
+ { LedId.LedMatrix32, (0x90, 58, 7, 4) },
+ { LedId.LedMatrix33, (0x90, 41, 0, 5) },
+ { LedId.LedMatrix34, (0x90, 42, 1, 5) },
+ { LedId.LedMatrix35, (0x90, 43, 2, 5) },
+ { LedId.LedMatrix36, (0x90, 44, 3, 5) },
+ { LedId.LedMatrix37, (0x90, 45, 4, 5) },
+ { LedId.LedMatrix38, (0x90, 46, 5, 5) },
+ { LedId.LedMatrix39, (0x90, 47, 6, 5) },
+ { LedId.LedMatrix40, (0x90, 48, 7, 5) },
+ { LedId.LedMatrix41, (0x90, 31, 0, 6) },
+ { LedId.LedMatrix42, (0x90, 32, 1, 6) },
+ { LedId.LedMatrix43, (0x90, 33, 2, 6) },
+ { LedId.LedMatrix44, (0x90, 34, 3, 6) },
+ { LedId.LedMatrix45, (0x90, 35, 4, 6) },
+ { LedId.LedMatrix46, (0x90, 36, 5, 6) },
+ { LedId.LedMatrix47, (0x90, 37, 6, 6) },
+ { LedId.LedMatrix48, (0x90, 38, 7, 6) },
+ { LedId.LedMatrix49, (0x90, 21, 0, 7) },
+ { LedId.LedMatrix50, (0x90, 22, 1, 7) },
+ { LedId.LedMatrix51, (0x90, 23, 2, 7) },
+ { LedId.LedMatrix52, (0x90, 24, 3, 7) },
+ { LedId.LedMatrix53, (0x90, 25, 4, 7) },
+ { LedId.LedMatrix54, (0x90, 26, 5, 7) },
+ { LedId.LedMatrix55, (0x90, 27, 6, 7) },
+ { LedId.LedMatrix56, (0x90, 28, 7, 7) },
+ { LedId.LedMatrix57, (0x90, 11, 0, 8) },
+ { LedId.LedMatrix58, (0x90, 12, 1, 8) },
+ { LedId.LedMatrix59, (0x90, 13, 2, 8) },
+ { LedId.LedMatrix60, (0x90, 14, 3, 8) },
+ { LedId.LedMatrix61, (0x90, 15, 4, 8) },
+ { LedId.LedMatrix62, (0x90, 16, 5, 8) },
+ { LedId.LedMatrix63, (0x90, 17, 6, 8) },
+ { LedId.LedMatrix64, (0x90, 18, 7, 8) },
- { LedId.Custom1, (0xB0, 104, 0, 0) }, // Up
- { LedId.Custom2, (0xB0, 105, 1, 0) }, // Down
- { LedId.Custom3, (0xB0, 106, 2, 0) }, // Left
- { LedId.Custom4, (0xB0, 107, 3, 0) }, // Right
- { LedId.Custom5, (0xB0, 108, 4, 0) }, // Session
- { LedId.Custom6, (0xB0, 109, 5, 0) }, // User 1
- { LedId.Custom7, (0xB0, 110, 6, 0) }, // User 2
- { LedId.Custom8, (0xB0, 111, 7, 0) }, // Mix
+ { LedId.Custom1, (0xB0, 104, 0, 0) }, // Up
+ { LedId.Custom2, (0xB0, 105, 1, 0) }, // Down
+ { LedId.Custom3, (0xB0, 106, 2, 0) }, // Left
+ { LedId.Custom4, (0xB0, 107, 3, 0) }, // Right
+ { LedId.Custom5, (0xB0, 108, 4, 0) }, // Session
+ { LedId.Custom6, (0xB0, 109, 5, 0) }, // User 1
+ { LedId.Custom7, (0xB0, 110, 6, 0) }, // User 2
+ { LedId.Custom8, (0xB0, 111, 7, 0) }, // Mix
- { LedId.Custom9, (0x90, 89, 8, 1) }, //Scene1
- { LedId.Custom10, (0x90, 79, 8, 2) }, //Scene2
- { LedId.Custom11, (0x90, 69, 8, 3) }, //Scene3
- { LedId.Custom12, (0x90, 59, 8, 4) }, //Scene4
- { LedId.Custom13, (0x90, 49, 8, 5) }, //Scene5
- { LedId.Custom14, (0x90, 39, 8, 6) }, //Scene6
- { LedId.Custom15, (0x90, 29, 8, 7) }, //Scene7
- { LedId.Custom16, (0x90, 19, 8, 8) }, //Scene8
- };
+ { LedId.Custom9, (0x90, 89, 8, 1) }, //Scene1
+ { LedId.Custom10, (0x90, 79, 8, 2) }, //Scene2
+ { LedId.Custom11, (0x90, 69, 8, 3) }, //Scene3
+ { LedId.Custom12, (0x90, 59, 8, 4) }, //Scene4
+ { LedId.Custom13, (0x90, 49, 8, 5) }, //Scene5
+ { LedId.Custom14, (0x90, 39, 8, 6) }, //Scene6
+ { LedId.Custom15, (0x90, 29, 8, 7) }, //Scene7
+ { LedId.Custom16, (0x90, 19, 8, 8) }, //Scene8
+ };
+
+ internal static readonly Dictionary PRO = new()
+ {
+ { LedId.Invalid, (0x00, 0xFF, 8, 0) },
+
+ { LedId.LedMatrix1, (0x90, 81, 0, 1) },
+ { LedId.LedMatrix2, (0x90, 82, 1, 1) },
+ { LedId.LedMatrix3, (0x90, 83, 2, 1) },
+ { LedId.LedMatrix4, (0x90, 84, 3, 1) },
+ { LedId.LedMatrix5, (0x90, 85, 4, 1) },
+ { LedId.LedMatrix6, (0x90, 86, 5, 1) },
+ { LedId.LedMatrix7, (0x90, 87, 6, 1) },
+ { LedId.LedMatrix8, (0x90, 88, 7, 1) },
+ { LedId.LedMatrix9, (0x90, 71, 0, 2) },
+ { LedId.LedMatrix10, (0x90, 72, 1, 2) },
+ { LedId.LedMatrix11, (0x90, 73, 2, 2) },
+ { LedId.LedMatrix12, (0x90, 74, 3, 2) },
+ { LedId.LedMatrix13, (0x90, 75, 4, 2) },
+ { LedId.LedMatrix14, (0x90, 76, 5, 2) },
+ { LedId.LedMatrix15, (0x90, 77, 6, 2) },
+ { LedId.LedMatrix16, (0x90, 78, 7, 2) },
+ { LedId.LedMatrix17, (0x90, 61, 0, 3) },
+ { LedId.LedMatrix18, (0x90, 62, 1, 3) },
+ { LedId.LedMatrix19, (0x90, 63, 2, 3) },
+ { LedId.LedMatrix20, (0x90, 64, 3, 3) },
+ { LedId.LedMatrix21, (0x90, 65, 4, 3) },
+ { LedId.LedMatrix22, (0x90, 66, 5, 3) },
+ { LedId.LedMatrix23, (0x90, 67, 6, 3) },
+ { LedId.LedMatrix24, (0x90, 68, 7, 3) },
+ { LedId.LedMatrix25, (0x90, 51, 0, 4) },
+ { LedId.LedMatrix26, (0x90, 52, 1, 4) },
+ { LedId.LedMatrix27, (0x90, 53, 2, 4) },
+ { LedId.LedMatrix28, (0x90, 54, 3, 4) },
+ { LedId.LedMatrix29, (0x90, 55, 4, 4) },
+ { LedId.LedMatrix30, (0x90, 56, 5, 4) },
+ { LedId.LedMatrix31, (0x90, 57, 6, 4) },
+ { LedId.LedMatrix32, (0x90, 58, 7, 4) },
+ { LedId.LedMatrix33, (0x90, 41, 0, 5) },
+ { LedId.LedMatrix34, (0x90, 42, 1, 5) },
+ { LedId.LedMatrix35, (0x90, 43, 2, 5) },
+ { LedId.LedMatrix36, (0x90, 44, 3, 5) },
+ { LedId.LedMatrix37, (0x90, 45, 4, 5) },
+ { LedId.LedMatrix38, (0x90, 46, 5, 5) },
+ { LedId.LedMatrix39, (0x90, 47, 6, 5) },
+ { LedId.LedMatrix40, (0x90, 48, 7, 5) },
+ { LedId.LedMatrix41, (0x90, 31, 0, 6) },
+ { LedId.LedMatrix42, (0x90, 32, 1, 6) },
+ { LedId.LedMatrix43, (0x90, 33, 2, 6) },
+ { LedId.LedMatrix44, (0x90, 34, 3, 6) },
+ { LedId.LedMatrix45, (0x90, 35, 4, 6) },
+ { LedId.LedMatrix46, (0x90, 36, 5, 6) },
+ { LedId.LedMatrix47, (0x90, 37, 6, 6) },
+ { LedId.LedMatrix48, (0x90, 38, 7, 6) },
+ { LedId.LedMatrix49, (0x90, 21, 0, 7) },
+ { LedId.LedMatrix50, (0x90, 22, 1, 7) },
+ { LedId.LedMatrix51, (0x90, 23, 2, 7) },
+ { LedId.LedMatrix52, (0x90, 24, 3, 7) },
+ { LedId.LedMatrix53, (0x90, 25, 4, 7) },
+ { LedId.LedMatrix54, (0x90, 26, 5, 7) },
+ { LedId.LedMatrix55, (0x90, 27, 6, 7) },
+ { LedId.LedMatrix56, (0x90, 28, 7, 7) },
+ { LedId.LedMatrix57, (0x90, 11, 0, 8) },
+ { LedId.LedMatrix58, (0x90, 12, 1, 8) },
+ { LedId.LedMatrix59, (0x90, 13, 2, 8) },
+ { LedId.LedMatrix60, (0x90, 14, 3, 8) },
+ { LedId.LedMatrix61, (0x90, 15, 4, 8) },
+ { LedId.LedMatrix62, (0x90, 16, 5, 8) },
+ { LedId.LedMatrix63, (0x90, 17, 6, 8) },
+ { LedId.LedMatrix64, (0x90, 18, 7, 8) },
+
+ { LedId.Custom1, (0xB0, 91, 0, 0) }, // Up
+ { LedId.Custom2, (0xB0, 92, 1, 0) }, // Down
+ { LedId.Custom3, (0xB0, 93, 2, 0) }, // Left
+ { LedId.Custom4, (0xB0, 94, 3, 0) }, // Right
+ { LedId.Custom5, (0xB0, 95, 4, 0) }, // Session
+ { LedId.Custom6, (0xB0, 96, 5, 0) }, // Note
+ { LedId.Custom7, (0xB0, 97, 6, 0) }, // Device
+ { LedId.Custom8, (0xB0, 98, 7, 0) }, // User
+
+ { LedId.Custom9, (0x90, 89, 8, 1) }, // Scene1
+ { LedId.Custom10, (0x90, 79, 8, 2) }, // Scene2
+ { LedId.Custom11, (0x90, 69, 8, 3) }, // Scene3
+ { LedId.Custom12, (0x90, 59, 8, 4) }, // Scene4
+ { LedId.Custom13, (0x90, 49, 8, 5) }, // Scene5
+ { LedId.Custom14, (0x90, 39, 8, 6) }, // Scene6
+ { LedId.Custom15, (0x90, 29, 8, 7) }, // Scene7
+ { LedId.Custom16, (0x90, 19, 8, 8) }, // Scene8
+
+ { LedId.Custom17, (0x90, 80, 8, 1) }, // Shift
+ { LedId.Custom18, (0x90, 70, 8, 2) }, // Click
+ { LedId.Custom19, (0x90, 60, 8, 3) }, // Undo
+ { LedId.Custom20, (0x90, 50, 8, 4) }, // Delete
+ { LedId.Custom21, (0x90, 40, 8, 5) }, // Quantise
+ { LedId.Custom22, (0x90, 30, 8, 6) }, // Duplicate
+ { LedId.Custom23, (0x90, 20, 8, 7) }, // Double
+ { LedId.Custom24, (0x90, 10, 8, 8) }, // Record
+
+ { LedId.Custom25, (0x90, 1, 8, 1) }, // Record Arm
+ { LedId.Custom26, (0x90, 2, 8, 2) }, // Track Select
+ { LedId.Custom27, (0x90, 3, 8, 3) }, // Mute
+ { LedId.Custom28, (0x90, 4, 8, 4) }, // Solo
+ { LedId.Custom29, (0x90, 5, 8, 5) }, // Volume
+ { LedId.Custom30, (0x90, 6, 8, 6) }, // Pan
+ { LedId.Custom31, (0x90, 7, 8, 7) }, // Sends
+ { LedId.Custom32, (0x90, 8, 8, 8) }, // Stop Clip
+ };
}
\ No newline at end of file
diff --git a/RGB.NET.Devices.Novation/Launchpad/LedIdMappings.cs b/RGB.NET.Devices.Novation/Launchpad/LedIdMappings.cs
index d035ba9..93c1539 100644
--- a/RGB.NET.Devices.Novation/Launchpad/LedIdMappings.cs
+++ b/RGB.NET.Devices.Novation/Launchpad/LedIdMappings.cs
@@ -3,5 +3,6 @@
internal enum LedIdMappings
{
Current,
- Legacy
+ Legacy,
+ Pro
}
\ No newline at end of file
diff --git a/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs b/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs
index 9ec1e5d..81e5dce 100644
--- a/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs
+++ b/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs
@@ -55,6 +55,7 @@ public class NovationLaunchpadRGBDevice : NovationRGBDevice LaunchpadIdMapping.CURRENT,
LedIdMappings.Legacy => LaunchpadIdMapping.LEGACY,
+ LedIdMappings.Pro => LaunchpadIdMapping.PRO,
_ => throw new ArgumentOutOfRangeException()
};
diff --git a/RGB.NET.Devices.Novation/NovationDeviceProvider.cs b/RGB.NET.Devices.Novation/NovationDeviceProvider.cs
index 3c2d126..9d2d8d2 100644
--- a/RGB.NET.Devices.Novation/NovationDeviceProvider.cs
+++ b/RGB.NET.Devices.Novation/NovationDeviceProvider.cs
@@ -52,13 +52,11 @@ public class NovationDeviceProvider : AbstractRGBDeviceProvider
MidiOutCaps outCaps = OutputDeviceBase.GetDeviceCapabilities(index);
if (outCaps.name == null) continue;
+ string deviceName = outCaps.name.ToUpperInvariant();
NovationDevices? deviceId = (NovationDevices?)Enum.GetValues(typeof(NovationDevices))
.Cast()
- .FirstOrDefault(x =>
- {
- string? deviceId = x.GetDeviceId();
- return (deviceId != null) && outCaps.name.ToUpperInvariant().Contains(deviceId.ToUpperInvariant());
- });
+ .Where(x => x.GetDeviceId() != null)
+ .FirstOrDefault(x => deviceName.Contains(x.GetDeviceId()!.ToUpperInvariant()));
if (deviceId == null) continue;
diff --git a/RGB.NET.Devices.Razer/RazerDeviceProvider.cs b/RGB.NET.Devices.Razer/RazerDeviceProvider.cs
index efcb7b0..8ed41ff 100644
--- a/RGB.NET.Devices.Razer/RazerDeviceProvider.cs
+++ b/RGB.NET.Devices.Razer/RazerDeviceProvider.cs
@@ -106,6 +106,7 @@ public class RazerDeviceProvider : AbstractRGBDeviceProvider
{ 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 },
+ { 0x026C, RGBDeviceType.Keyboard, "Huntsman V2", LedMappings.Keyboard, RazerEndpointType.Keyboard },
// Mice
{ 0x0013, RGBDeviceType.Mouse, "Orochi 2011", LedMappings.Mouse, RazerEndpointType.Mouse },
diff --git a/RGB.NET.Devices.SteelSeries/API/SteelSeriesSDK.cs b/RGB.NET.Devices.SteelSeries/API/SteelSeriesSDK.cs
index 268116d..562e609 100644
--- a/RGB.NET.Devices.SteelSeries/API/SteelSeriesSDK.cs
+++ b/RGB.NET.Devices.SteelSeries/API/SteelSeriesSDK.cs
@@ -47,7 +47,9 @@ internal static class SteelSeriesSDK
(add-event-zone-use-with-specifier ""{EVENT_NAME}"" ""all"" ""rgb-103-zone"")
(add-custom-zone '(""non-us-backslash"" 100))
-(add-custom-zone '(""num-5"" 93))"; //HACK DarthAffe 07.10.2021: Custom zone to workaround a SDK-issue (https://github.com/SteelSeries/gamesense-sdk/issues/85)
+(add-custom-zone '(""num-5"" 93))
+(add-custom-zone '(""fn"" 240))
+(add-custom-zone '(""power"" 102))"; //HACK DarthAffe 07.10.2021: Custom zone to workaround a SDK-issue (https://github.com/SteelSeries/gamesense-sdk/issues/85)
private const string CORE_PROPS_WINDOWS = "%PROGRAMDATA%/SteelSeries/SteelSeries Engine 3/coreProps.json";
private const string CORE_PROPS_OSX = "/Library/Application Support/SteelSeries Engine 3/coreProps.json";
diff --git a/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs b/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs
index 295b9c8..2402fca 100644
--- a/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs
+++ b/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs
@@ -443,4 +443,8 @@ public enum SteelSeriesLedId
M4,
[APIName("m5")]
M5,
+ [APIName("fn")]
+ Fn,
+ [APIName("power")]
+ Power,
}
\ No newline at end of file
diff --git a/RGB.NET.Devices.SteelSeries/Generic/LedMappings.cs b/RGB.NET.Devices.SteelSeries/Generic/LedMappings.cs
index 5b7bee5..70acca7 100644
--- a/RGB.NET.Devices.SteelSeries/Generic/LedMappings.cs
+++ b/RGB.NET.Devices.SteelSeries/Generic/LedMappings.cs
@@ -217,6 +217,104 @@ public static class LedMappings
{ LedId.Keyboard_ArrowRight, SteelSeriesLedId.RightArrow }
};
+ ///
+ /// Gets the uk-notebook-mapping for keyboards.
+ ///
+ public static LedMapping KeyboardNotebookMappingUk { 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_Function, SteelSeriesLedId.Fn },
+ { LedId.Keyboard_Custom1, SteelSeriesLedId.Power },
+ };
+
///
/// Gets the mapping for one-zone mice.
///
diff --git a/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs b/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs
index 73f653a..3deb842 100644
--- a/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs
+++ b/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs
@@ -57,6 +57,7 @@ public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
{ 0x1600, RGBDeviceType.Keyboard, "Apex M800", LedMappings.KeyboardMappingUk, SteelSeriesDeviceType.PerKey },
{ 0x1610, RGBDeviceType.Keyboard, "Apex Pro", LedMappings.KeyboardMappingUk, SteelSeriesDeviceType.PerKey },
{ 0x1614, RGBDeviceType.Keyboard, "Apex Pro TKL", LedMappings.KeyboardTklMappingUk, SteelSeriesDeviceType.PerKey },
+ { 0x2036, RGBDeviceType.Keyboard, "MSI Notebook", LedMappings.KeyboardNotebookMappingUk, SteelSeriesDeviceType.PerKey },
//Headsets
{ 0x12AA, RGBDeviceType.Headset, "Arctis 5", LedMappings.HeadsetTwoZone, SteelSeriesDeviceType.TwoZone },