diff --git a/RGB.NET.Devices.Asus/Enum/AsusLedId.cs b/RGB.NET.Devices.Asus/Enum/AsusLedId.cs index f56d64a..a5ee8e1 100644 --- a/RGB.NET.Devices.Asus/Enum/AsusLedId.cs +++ b/RGB.NET.Devices.Asus/Enum/AsusLedId.cs @@ -156,5 +156,8 @@ namespace RGB.NET.Devices.Asus UNDOCUMENTED_3 = 0x101, UNDOCUMENTED_4 = 0x102, UNDOCUMENTED_5 = 0x103, + UNDOCUMENTED_6 = 0x1EB, // ISO tilde + UNDOCUMENTED_7 = 0x1EC, // ISO backslash + UNDOCUMENTED_8 = 0x14E, } } diff --git a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardLedMapping.cs b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardLedMapping.cs index 3b9f802..3bb0de9 100644 --- a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardLedMapping.cs +++ b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardLedMapping.cs @@ -5,157 +5,160 @@ namespace RGB.NET.Devices.Asus { internal static class AsusKeyboardLedMapping { - public static readonly Dictionary MAPPING = new() + public static readonly Dictionary MAPPING = new() { - { LedId.Keyboard_Escape, AsusLedId.KEY_ESCAPE }, - { LedId.Keyboard_F1, AsusLedId.KEY_F1 }, - { LedId.Keyboard_F2, AsusLedId.KEY_F2 }, - { LedId.Keyboard_F3, AsusLedId.KEY_F3 }, - { LedId.Keyboard_F4, AsusLedId.KEY_F4 }, - { LedId.Keyboard_F5, AsusLedId.KEY_F5 }, - { LedId.Keyboard_F6, AsusLedId.KEY_F6 }, - { LedId.Keyboard_F7, AsusLedId.KEY_F7 }, - { LedId.Keyboard_F8, AsusLedId.KEY_F8 }, - { LedId.Keyboard_F9, AsusLedId.KEY_F9 }, - { LedId.Keyboard_F10, AsusLedId.KEY_F10 }, - { LedId.Keyboard_F11, AsusLedId.KEY_F11 }, - { LedId.Keyboard_F12, AsusLedId.KEY_F12 }, - { LedId.Keyboard_1, AsusLedId.KEY_1 }, - { LedId.Keyboard_2, AsusLedId.KEY_2 }, - { LedId.Keyboard_3, AsusLedId.KEY_3 }, - { LedId.Keyboard_4, AsusLedId.KEY_4 }, - { LedId.Keyboard_5, AsusLedId.KEY_5 }, - { LedId.Keyboard_6, AsusLedId.KEY_6 }, - { LedId.Keyboard_7, AsusLedId.KEY_7 }, - { LedId.Keyboard_8, AsusLedId.KEY_8 }, - { LedId.Keyboard_9, AsusLedId.KEY_9 }, - { LedId.Keyboard_0, AsusLedId.KEY_0 }, - { LedId.Keyboard_MinusAndUnderscore, AsusLedId.KEY_MINUS }, - { LedId.Keyboard_EqualsAndPlus, AsusLedId.KEY_EQUALS }, - { LedId.Keyboard_Backspace, AsusLedId.KEY_BACK }, - { LedId.Keyboard_Tab, AsusLedId.KEY_TAB }, - { LedId.Keyboard_Q, AsusLedId.KEY_Q }, - { LedId.Keyboard_W, AsusLedId.KEY_W }, - { LedId.Keyboard_E, AsusLedId.KEY_E }, - { LedId.Keyboard_R, AsusLedId.KEY_R }, - { LedId.Keyboard_T, AsusLedId.KEY_T }, - { LedId.Keyboard_Y, AsusLedId.KEY_Y }, - { LedId.Keyboard_U, AsusLedId.KEY_U }, - { LedId.Keyboard_I, AsusLedId.KEY_I }, - { LedId.Keyboard_O, AsusLedId.KEY_O }, - { LedId.Keyboard_P, AsusLedId.KEY_P }, - { LedId.Keyboard_BracketLeft, AsusLedId.KEY_LBRACKET }, - { LedId.Keyboard_BracketRight, AsusLedId.KEY_RBRACKET }, - { LedId.Keyboard_Enter, AsusLedId.KEY_RETURN }, - { LedId.Keyboard_CapsLock, AsusLedId.KEY_CAPITAL }, - { LedId.Keyboard_A, AsusLedId.KEY_A }, - { LedId.Keyboard_S, AsusLedId.KEY_S }, - { LedId.Keyboard_D, AsusLedId.KEY_D }, - { LedId.Keyboard_F, AsusLedId.KEY_F }, - { LedId.Keyboard_G, AsusLedId.KEY_G }, - { LedId.Keyboard_H, AsusLedId.KEY_H }, - { LedId.Keyboard_J, AsusLedId.KEY_J }, - { LedId.Keyboard_K, AsusLedId.KEY_K }, - { LedId.Keyboard_L, AsusLedId.KEY_L }, - { LedId.Keyboard_SemicolonAndColon, AsusLedId.KEY_SEMICOLON }, - { LedId.Keyboard_ApostropheAndDoubleQuote, AsusLedId.KEY_APOSTROPHE }, - { LedId.Keyboard_GraveAccentAndTilde, AsusLedId.KEY_GRAVE }, - { LedId.Keyboard_LeftShift, AsusLedId.KEY_LSHIFT }, - { LedId.Keyboard_Backslash, AsusLedId.KEY_BACKSLASH }, - { LedId.Keyboard_Z, AsusLedId.KEY_Z }, - { LedId.Keyboard_X, AsusLedId.KEY_X }, - { LedId.Keyboard_C, AsusLedId.KEY_C }, - { LedId.Keyboard_V, AsusLedId.KEY_V }, - { LedId.Keyboard_B, AsusLedId.KEY_B }, - { LedId.Keyboard_N, AsusLedId.KEY_N }, - { LedId.Keyboard_M, AsusLedId.KEY_M }, - { LedId.Keyboard_CommaAndLessThan, AsusLedId.KEY_COMMA }, - { LedId.Keyboard_PeriodAndBiggerThan, AsusLedId.KEY_PERIOD }, - { LedId.Keyboard_SlashAndQuestionMark, AsusLedId.KEY_SLASH }, - { LedId.Keyboard_RightShift, AsusLedId.KEY_RSHIFT }, - { LedId.Keyboard_LeftCtrl, AsusLedId.KEY_LCONTROL }, - { LedId.Keyboard_LeftGui, AsusLedId.KEY_LWIN }, - { LedId.Keyboard_LeftAlt, AsusLedId.KEY_LMENU }, - { LedId.Keyboard_Space, AsusLedId.KEY_SPACE }, - { LedId.Keyboard_RightAlt, AsusLedId.KEY_RMENU }, - { LedId.Keyboard_RightGui, AsusLedId.KEY_RWIN }, - { LedId.Keyboard_Application, AsusLedId.KEY_APPS }, - { LedId.Keyboard_RightCtrl, AsusLedId.KEY_RCONTROL }, - { LedId.Keyboard_PrintScreen, AsusLedId.KEY_SYSRQ }, - { LedId.Keyboard_ScrollLock, AsusLedId.KEY_SCROLL }, - { LedId.Keyboard_PauseBreak, AsusLedId.KEY_PAUSE }, - { LedId.Keyboard_Insert, AsusLedId.KEY_INSERT }, - { LedId.Keyboard_Home, AsusLedId.KEY_HOME }, - { LedId.Keyboard_PageUp, AsusLedId.KEY_PRIOR }, - { LedId.Keyboard_Delete, AsusLedId.KEY_DELETE }, - { LedId.Keyboard_End, AsusLedId.KEY_END }, - { LedId.Keyboard_PageDown, AsusLedId.KEY_NEXT }, - { LedId.Keyboard_ArrowUp, AsusLedId.KEY_UP }, - { LedId.Keyboard_ArrowLeft, AsusLedId.KEY_LEFT }, - { LedId.Keyboard_ArrowDown, AsusLedId.KEY_DOWN }, - { LedId.Keyboard_ArrowRight, AsusLedId.KEY_RIGHT }, - { LedId.Keyboard_NumLock, AsusLedId.KEY_NUMLOCK }, - { LedId.Keyboard_NumSlash, AsusLedId.KEY_DIVIDE }, - { LedId.Keyboard_NumAsterisk, AsusLedId.KEY_MULTIPLY }, - { LedId.Keyboard_NumMinus, AsusLedId.KEY_SUBTRACT }, - { LedId.Keyboard_Num7, AsusLedId.KEY_NUMPAD7 }, - { LedId.Keyboard_Num8, AsusLedId.KEY_NUMPAD8 }, - { LedId.Keyboard_Num9, AsusLedId.KEY_NUMPAD9 }, - { LedId.Keyboard_NumPeriodAndDelete, AsusLedId.KEY_DECIMAL }, - { LedId.Keyboard_NumPlus, AsusLedId.KEY_ADD }, - { LedId.Keyboard_Num4, AsusLedId.KEY_NUMPAD4 }, - { LedId.Keyboard_Num5, AsusLedId.KEY_NUMPAD5 }, - { LedId.Keyboard_Num6, AsusLedId.KEY_NUMPAD6 }, - { LedId.Keyboard_Num1, AsusLedId.KEY_NUMPAD1 }, - { LedId.Keyboard_Num2, AsusLedId.KEY_NUMPAD2 }, - { LedId.Keyboard_Num3, AsusLedId.KEY_NUMPAD3 }, - { LedId.Keyboard_Num0, AsusLedId.KEY_NUMPAD0 }, - { LedId.Keyboard_NumEnter, AsusLedId.KEY_NUMPADENTER }, - { LedId.Keyboard_NonUsBackslash, AsusLedId.UNDOCUMENTED_1 }, - { LedId.Keyboard_NonUsTilde, AsusLedId.UNDOCUMENTED_2 }, - { LedId.Keyboard_NumComma, AsusLedId.KEY_NUMPADCOMMA }, - { LedId.Logo, AsusLedId.UNDOCUMENTED_3 }, - { LedId.Keyboard_Custom1, AsusLedId.UNDOCUMENTED_4 }, - { LedId.Keyboard_Custom2, AsusLedId.UNDOCUMENTED_5 }, - { LedId.Keyboard_Custom3, AsusLedId.KEY_F13 }, - { LedId.Keyboard_Custom4, AsusLedId.KEY_F14 }, - { LedId.Keyboard_Custom5, AsusLedId.KEY_F15 }, - { LedId.Keyboard_Custom6, AsusLedId.KEY_KANA }, - { LedId.Keyboard_Custom7, AsusLedId.KEY_ABNT_C1 }, - { LedId.Keyboard_Custom8, AsusLedId.KEY_CONVERT }, - { LedId.Keyboard_Custom9, AsusLedId.KEY_NOCONVERT }, - { LedId.Keyboard_Custom10, AsusLedId.KEY_YEN }, - { LedId.Keyboard_Custom11, AsusLedId.KEY_ABNT_C2 }, - { LedId.Keyboard_Custom12, AsusLedId.KEY_NUMPADEQUALS }, - { LedId.Keyboard_Custom13, AsusLedId.KEY_CIRCUMFLEX }, - { LedId.Keyboard_Custom14, AsusLedId.KEY_AT }, - { LedId.Keyboard_Custom15, AsusLedId.KEY_COLON }, - { LedId.Keyboard_Custom16, AsusLedId.KEY_UNDERLINE }, - { LedId.Keyboard_Custom17, AsusLedId.KEY_KANJI }, - { LedId.Keyboard_Custom18, AsusLedId.KEY_STOP }, - { LedId.Keyboard_Custom19, AsusLedId.KEY_AX }, - { LedId.Keyboard_Custom20, AsusLedId.KEY_UNLABELED }, - { LedId.Keyboard_Custom21, AsusLedId.KEY_NEXTTRACK }, - { LedId.Keyboard_Custom22, AsusLedId.KEY_CALCULATOR }, - { LedId.Keyboard_Custom23, AsusLedId.KEY_POWER }, - { LedId.Keyboard_Custom24, AsusLedId.KEY_SLEEP }, - { LedId.Keyboard_Custom25, AsusLedId.KEY_WAKE }, - { LedId.Keyboard_Custom26, AsusLedId.KEY_WEBSEARCH }, - { LedId.Keyboard_Custom27, AsusLedId.KEY_WEBFAVORITES }, - { LedId.Keyboard_Custom28, AsusLedId.KEY_WEBREFRESH }, - { LedId.Keyboard_Custom29, AsusLedId.KEY_WEBSTOP }, - { LedId.Keyboard_Custom30, AsusLedId.KEY_WEBFORWARD }, - { LedId.Keyboard_Custom31, AsusLedId.KEY_WEBHOME }, - { LedId.Keyboard_Custom32, AsusLedId.KEY_WEBBACK }, - { LedId.Keyboard_Custom33, AsusLedId.KEY_MYCOMPUTER }, - { LedId.Keyboard_Custom34, AsusLedId.KEY_MAIL }, - { LedId.Keyboard_Custom35, AsusLedId.KEY_MEDIASELECT }, - { LedId.Keyboard_Custom36, AsusLedId.KEY_FN }, - { LedId.Keyboard_MediaMute, AsusLedId.KEY_MUTE }, - { LedId.Keyboard_MediaPlay, AsusLedId.KEY_PLAYPAUSE }, - { LedId.Keyboard_MediaStop, AsusLedId.KEY_MEDIASTOP }, - { LedId.Keyboard_MediaVolumeDown, AsusLedId.KEY_VOLUMEDOWN }, - { LedId.Keyboard_MediaVolumeUp, AsusLedId.KEY_VOLUMEUP }, + { AsusLedId.KEY_ESCAPE, LedId.Keyboard_Escape }, + { AsusLedId.KEY_F1, LedId.Keyboard_F1 }, + { AsusLedId.KEY_F2, LedId.Keyboard_F2 }, + { AsusLedId.KEY_F3, LedId.Keyboard_F3 }, + { AsusLedId.KEY_F4, LedId.Keyboard_F4 }, + { AsusLedId.KEY_F5, LedId.Keyboard_F5 }, + { AsusLedId.KEY_F6, LedId.Keyboard_F6 }, + { AsusLedId.KEY_F7, LedId.Keyboard_F7 }, + { AsusLedId.KEY_F8, LedId.Keyboard_F8 }, + { AsusLedId.KEY_F9, LedId.Keyboard_F9 }, + { AsusLedId.KEY_F10, LedId.Keyboard_F10 }, + { AsusLedId.KEY_F11, LedId.Keyboard_F11 }, + { AsusLedId.KEY_F12, LedId.Keyboard_F12 }, + { AsusLedId.KEY_1, LedId.Keyboard_1 }, + { AsusLedId.KEY_2, LedId.Keyboard_2 }, + { AsusLedId.KEY_3, LedId.Keyboard_3 }, + { AsusLedId.KEY_4, LedId.Keyboard_4 }, + { AsusLedId.KEY_5, LedId.Keyboard_5 }, + { AsusLedId.KEY_6, LedId.Keyboard_6 }, + { AsusLedId.KEY_7, LedId.Keyboard_7 }, + { AsusLedId.KEY_8, LedId.Keyboard_8 }, + { AsusLedId.KEY_9, LedId.Keyboard_9 }, + { AsusLedId.KEY_0, LedId.Keyboard_0 }, + { AsusLedId.KEY_MINUS , LedId.Keyboard_MinusAndUnderscore }, + { AsusLedId.KEY_EQUALS, LedId.Keyboard_EqualsAndPlus }, + { AsusLedId.KEY_BACK, LedId.Keyboard_Backspace }, + { AsusLedId.KEY_TAB, LedId.Keyboard_Tab }, + { AsusLedId.KEY_Q, LedId.Keyboard_Q }, + { AsusLedId.KEY_W, LedId.Keyboard_W }, + { AsusLedId.KEY_E, LedId.Keyboard_E }, + { AsusLedId.KEY_R, LedId.Keyboard_R }, + { AsusLedId.KEY_T, LedId.Keyboard_T }, + { AsusLedId.KEY_Y, LedId.Keyboard_Y }, + { AsusLedId.KEY_U, LedId.Keyboard_U }, + { AsusLedId.KEY_I, LedId.Keyboard_I }, + { AsusLedId.KEY_O, LedId.Keyboard_O }, + { AsusLedId.KEY_P, LedId.Keyboard_P }, + { AsusLedId.KEY_LBRACKET, LedId.Keyboard_BracketLeft }, + { AsusLedId.KEY_RBRACKET, LedId.Keyboard_BracketRight }, + { AsusLedId.KEY_RETURN, LedId.Keyboard_Enter }, + { AsusLedId.KEY_CAPITAL, LedId.Keyboard_CapsLock }, + { AsusLedId.KEY_A, LedId.Keyboard_A }, + { AsusLedId.KEY_S, LedId.Keyboard_S }, + { AsusLedId.KEY_D, LedId.Keyboard_D }, + { AsusLedId.KEY_F, LedId.Keyboard_F }, + { AsusLedId.KEY_G, LedId.Keyboard_G }, + { AsusLedId.KEY_H, LedId.Keyboard_H }, + { AsusLedId.KEY_J, LedId.Keyboard_J }, + { AsusLedId.KEY_K, LedId.Keyboard_K }, + { AsusLedId.KEY_L, LedId.Keyboard_L }, + { AsusLedId.KEY_SEMICOLON,LedId.Keyboard_SemicolonAndColon }, + { AsusLedId.KEY_APOSTROPHE, LedId.Keyboard_ApostropheAndDoubleQuote }, + { AsusLedId.KEY_GRAVE, LedId.Keyboard_GraveAccentAndTilde }, + { AsusLedId.KEY_LSHIFT, LedId.Keyboard_LeftShift }, + { AsusLedId.KEY_BACKSLASH, LedId.Keyboard_Backslash }, + { AsusLedId.KEY_Z, LedId.Keyboard_Z }, + { AsusLedId.KEY_X, LedId.Keyboard_X }, + { AsusLedId.KEY_C, LedId.Keyboard_C }, + { AsusLedId.KEY_V, LedId.Keyboard_V }, + { AsusLedId.KEY_B, LedId.Keyboard_B }, + { AsusLedId.KEY_N, LedId.Keyboard_N }, + { AsusLedId.KEY_M, LedId.Keyboard_M }, + { AsusLedId.KEY_COMMA, LedId.Keyboard_CommaAndLessThan }, + { AsusLedId.KEY_PERIOD, LedId.Keyboard_PeriodAndBiggerThan }, + { AsusLedId.KEY_SLASH, LedId.Keyboard_SlashAndQuestionMark }, + { AsusLedId.KEY_RSHIFT, LedId.Keyboard_RightShift }, + { AsusLedId.KEY_LCONTROL, LedId.Keyboard_LeftCtrl }, + { AsusLedId.KEY_LWIN, LedId.Keyboard_LeftGui }, + { AsusLedId.KEY_LMENU, LedId.Keyboard_LeftAlt }, + { AsusLedId.KEY_SPACE, LedId.Keyboard_Space }, + { AsusLedId.KEY_RMENU, LedId.Keyboard_RightAlt }, + { AsusLedId.KEY_RWIN, LedId.Keyboard_RightGui }, + { AsusLedId.KEY_APPS, LedId.Keyboard_Application }, + { AsusLedId.KEY_RCONTROL, LedId.Keyboard_RightCtrl }, + { AsusLedId.KEY_SYSRQ, LedId.Keyboard_PrintScreen }, + { AsusLedId.KEY_SCROLL, LedId.Keyboard_ScrollLock }, + { AsusLedId.KEY_PAUSE, LedId.Keyboard_PauseBreak }, + { AsusLedId.KEY_INSERT, LedId.Keyboard_Insert }, + { AsusLedId.KEY_HOME, LedId.Keyboard_Home }, + { AsusLedId.KEY_PRIOR, LedId.Keyboard_PageUp }, + { AsusLedId.KEY_DELETE, LedId.Keyboard_Delete }, + { AsusLedId.KEY_END, LedId.Keyboard_End }, + { AsusLedId.KEY_NEXT, LedId.Keyboard_PageDown }, + { AsusLedId.KEY_UP, LedId.Keyboard_ArrowUp }, + { AsusLedId.KEY_LEFT, LedId.Keyboard_ArrowLeft }, + { AsusLedId.KEY_DOWN, LedId.Keyboard_ArrowDown }, + { AsusLedId.KEY_RIGHT, LedId.Keyboard_ArrowRight }, + { AsusLedId.KEY_NUMLOCK, LedId.Keyboard_NumLock }, + { AsusLedId.KEY_DIVIDE, LedId.Keyboard_NumSlash }, + { AsusLedId.KEY_MULTIPLY, LedId.Keyboard_NumAsterisk }, + { AsusLedId.KEY_SUBTRACT, LedId.Keyboard_NumMinus }, + { AsusLedId.KEY_NUMPAD7, LedId.Keyboard_Num7 }, + { AsusLedId.KEY_NUMPAD8, LedId.Keyboard_Num8 }, + { AsusLedId.KEY_NUMPAD9, LedId.Keyboard_Num9 }, + { AsusLedId.KEY_DECIMAL, LedId.Keyboard_NumPeriodAndDelete }, + { AsusLedId.KEY_ADD ,LedId.Keyboard_NumPlus }, + { AsusLedId.KEY_NUMPAD4, LedId.Keyboard_Num4 }, + { AsusLedId.KEY_NUMPAD5, LedId.Keyboard_Num5 }, + { AsusLedId.KEY_NUMPAD6, LedId.Keyboard_Num6 }, + { AsusLedId.KEY_NUMPAD1, LedId.Keyboard_Num1 }, + { AsusLedId.KEY_NUMPAD2, LedId.Keyboard_Num2 }, + { AsusLedId.KEY_NUMPAD3, LedId.Keyboard_Num3 }, + { AsusLedId.KEY_NUMPAD0, LedId.Keyboard_Num0 }, + { AsusLedId.KEY_NUMPADENTER, LedId.Keyboard_NumEnter }, + { AsusLedId.KEY_NUMPADCOMMA, LedId.Keyboard_NumComma }, + { AsusLedId.KEY_F13, LedId.Keyboard_Custom3 }, + { AsusLedId.KEY_F14, LedId.Keyboard_Custom4 }, + { AsusLedId.KEY_F15, LedId.Keyboard_Custom5 }, + { AsusLedId.KEY_KANA, LedId.Keyboard_Custom6 }, + { AsusLedId.KEY_ABNT_C1, LedId.Keyboard_Custom7 }, + { AsusLedId.KEY_CONVERT, LedId.Keyboard_Custom8 }, + { AsusLedId.KEY_NOCONVERT, LedId.Keyboard_Custom9 }, + { AsusLedId.KEY_YEN, LedId.Keyboard_Custom10 }, + { AsusLedId.KEY_ABNT_C2, LedId.Keyboard_Custom11 }, + { AsusLedId.KEY_NUMPADEQUALS, LedId.Keyboard_Custom12 }, + { AsusLedId.KEY_CIRCUMFLEX, LedId.Keyboard_Custom13 }, + { AsusLedId.KEY_AT, LedId.Keyboard_Custom14 }, + { AsusLedId.KEY_COLON, LedId.Keyboard_Custom15 }, + { AsusLedId.KEY_UNDERLINE, LedId.Keyboard_Custom16 }, + { AsusLedId.KEY_KANJI, LedId.Keyboard_Custom17 }, + { AsusLedId.KEY_STOP, LedId.Keyboard_Custom18 }, + { AsusLedId.KEY_AX, LedId.Keyboard_Custom19 }, + { AsusLedId.KEY_UNLABELED, LedId.Keyboard_Custom20 }, + { AsusLedId.KEY_NEXTTRACK, LedId.Keyboard_Custom21 }, + { AsusLedId.KEY_CALCULATOR, LedId.Keyboard_Custom22 }, + { AsusLedId.KEY_POWER, LedId.Keyboard_Custom23 }, + { AsusLedId.KEY_SLEEP, LedId.Keyboard_Custom24 }, + { AsusLedId.KEY_WAKE, LedId.Keyboard_Custom25 }, + { AsusLedId.KEY_WEBSEARCH, LedId.Keyboard_Custom26 }, + { AsusLedId.KEY_WEBFAVORITES, LedId.Keyboard_Custom27 }, + { AsusLedId.KEY_WEBREFRESH, LedId.Keyboard_Custom28 }, + { AsusLedId.KEY_WEBSTOP, LedId.Keyboard_Custom29 }, + { AsusLedId.KEY_WEBFORWARD, LedId.Keyboard_Custom30 }, + { AsusLedId.KEY_WEBHOME, LedId.Keyboard_Custom31 }, + { AsusLedId.KEY_WEBBACK, LedId.Keyboard_Custom32 }, + { AsusLedId.KEY_MYCOMPUTER, LedId.Keyboard_Custom33 }, + { AsusLedId.KEY_MAIL, LedId.Keyboard_Custom34 }, + { AsusLedId.KEY_MEDIASELECT, LedId.Keyboard_Custom35 }, + { AsusLedId.KEY_FN, LedId.Keyboard_Custom36 }, + { AsusLedId.KEY_MUTE, LedId.Keyboard_MediaMute }, + { AsusLedId.KEY_PLAYPAUSE, LedId.Keyboard_MediaPlay }, + { AsusLedId.KEY_MEDIASTOP, LedId.Keyboard_MediaStop }, + { AsusLedId.KEY_VOLUMEDOWN, LedId.Keyboard_MediaVolumeDown }, + { AsusLedId.KEY_VOLUMEUP, LedId.Keyboard_MediaVolumeUp }, + { AsusLedId.UNDOCUMENTED_1, LedId.Keyboard_NonUsBackslash }, + { AsusLedId.UNDOCUMENTED_2, LedId.Keyboard_NonUsTilde }, + { AsusLedId.UNDOCUMENTED_3, LedId.Logo }, + { AsusLedId.UNDOCUMENTED_4, LedId.Keyboard_Custom1 }, + { AsusLedId.UNDOCUMENTED_5, LedId.Keyboard_Custom2 }, + { AsusLedId.UNDOCUMENTED_6, LedId.Keyboard_NonUsTilde }, + { AsusLedId.UNDOCUMENTED_7, LedId.Keyboard_NonUsBackslash }, + { AsusLedId.UNDOCUMENTED_8, LedId.Keyboard_Custom37 }, }; } } diff --git a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs index 28cfbec..23a5a8f 100644 --- a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs +++ b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs @@ -36,18 +36,21 @@ namespace RGB.NET.Devices.Asus private void InitializeLayout() { - Dictionary reversedMapping = AsusKeyboardLedMapping.MAPPING.ToDictionary(x => x.Value, x => x.Key); - if (DeviceInfo.Device.Type != (uint)AsusDeviceType.NB_KB_4ZONE_RGB) { int pos = 0; foreach (IAuraRgbKey key in ((IAuraSyncKeyboard)DeviceInfo.Device).Keys) - AddLed(reversedMapping[(AsusLedId)key.Code], new Point(pos++ * 19, 0), new Size(19, 19)); + { + if (AsusKeyboardLedMapping.MAPPING.TryGetValue((AsusLedId)key.Code, out LedId ledId)) + AddLed(ledId, new Point(pos++ * 19, 0), new Size(19, 19)); + else + throw new RGBDeviceException($"Couldn't find a LED mapping for key {key.Code:X} named '{key.Name}' on device '{DeviceInfo.DeviceName}'"); + } //UK Layout - AddLed(reversedMapping[AsusLedId.KEY_OEM_102], new Point(pos++ * 19, 0), new Size(19, 19)); + AddLed(AsusKeyboardLedMapping.MAPPING[AsusLedId.KEY_OEM_102], new Point(pos++ * 19, 0), new Size(19, 19)); - AddLed(reversedMapping[AsusLedId.UNDOCUMENTED_1], new Point(pos * 19, 0), new Size(19, 19)); + AddLed(AsusKeyboardLedMapping.MAPPING[AsusLedId.UNDOCUMENTED_1], new Point(pos * 19, 0), new Size(19, 19)); } else { @@ -63,7 +66,7 @@ namespace RGB.NET.Devices.Asus if (DeviceInfo.Device.Type == (uint)AsusDeviceType.NB_KB_4ZONE_RGB) return ledId - LedId.Keyboard_Custom1; - return AsusKeyboardLedMapping.MAPPING[ledId]; + return AsusKeyboardLedMapping.MAPPING.FirstOrDefault(m => m.Value == ledId).Key; } #endregion