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 },