// ReSharper disable InconsistentNaming using System; using System.Collections.Generic; namespace RGB.NET.Devices.CoolerMaster { /// /// Contains all the hardware-id mappings for CoolerMaster devices. /// internal static class CoolerMasterKeyboardLedMappings { #region Properties & Fields #region MasterKeysL private static readonly Dictionary> MasterKeysL_US = new Dictionary> { { CoolerMasterLedIds.Esc, new Tuple(0,0) }, { CoolerMasterLedIds.F1, new Tuple(0,1) }, { CoolerMasterLedIds.F2, new Tuple(0,2) }, { CoolerMasterLedIds.F3, new Tuple(0,3) }, { CoolerMasterLedIds.F4, new Tuple(0,4) }, { CoolerMasterLedIds.F5, new Tuple(0,6) }, { CoolerMasterLedIds.F6, new Tuple(0,7) }, { CoolerMasterLedIds.F7, new Tuple(0,8) }, { CoolerMasterLedIds.F8, new Tuple(0,9) }, { CoolerMasterLedIds.F9, new Tuple(0,11) }, { CoolerMasterLedIds.F10, new Tuple(0,12) }, { CoolerMasterLedIds.F11, new Tuple(0,13) }, { CoolerMasterLedIds.F12, new Tuple(0,14) }, { CoolerMasterLedIds.Snapshot, new Tuple(0,15) }, { CoolerMasterLedIds.ScrollLock, new Tuple(0,16) }, { CoolerMasterLedIds.Pause, new Tuple(0,17) }, { CoolerMasterLedIds.P1, new Tuple(0,18) }, { CoolerMasterLedIds.P2, new Tuple(0,19) }, { CoolerMasterLedIds.P3, new Tuple(0,20) }, { CoolerMasterLedIds.P4, new Tuple(0,21) }, { CoolerMasterLedIds.Gravis, new Tuple(1,0) }, { CoolerMasterLedIds.D1, new Tuple(1,1) }, { CoolerMasterLedIds.D2, new Tuple(1,2) }, { CoolerMasterLedIds.D3, new Tuple(1,3) }, { CoolerMasterLedIds.D4, new Tuple(1,4) }, { CoolerMasterLedIds.D5, new Tuple(1,5) }, { CoolerMasterLedIds.D6, new Tuple(1,6) }, { CoolerMasterLedIds.D7, new Tuple(1,7) }, { CoolerMasterLedIds.D8, new Tuple(1,8) }, { CoolerMasterLedIds.D9, new Tuple(1,9) }, { CoolerMasterLedIds.D0, new Tuple(1,10) }, { CoolerMasterLedIds.Minus, new Tuple(1,11) }, { CoolerMasterLedIds.Equals, new Tuple(1,12) }, { CoolerMasterLedIds.Backspace, new Tuple(1,14) }, { CoolerMasterLedIds.Insert, new Tuple(1,15) }, { CoolerMasterLedIds.Home, new Tuple(1,16) }, { CoolerMasterLedIds.PageUp, new Tuple(1,17) }, { CoolerMasterLedIds.Numlock, new Tuple(1,18) }, { CoolerMasterLedIds.KeypadSlash, new Tuple(1,19) }, { CoolerMasterLedIds.KeypadAsterisk, new Tuple(1,20) }, { CoolerMasterLedIds.KeypadMinus, new Tuple(1,21) }, { CoolerMasterLedIds.Tab, new Tuple(2,0) }, { CoolerMasterLedIds.Q, new Tuple(2,1) }, { CoolerMasterLedIds.W, new Tuple(2,2) }, { CoolerMasterLedIds.E, new Tuple(2,3) }, { CoolerMasterLedIds.R, new Tuple(2,4) }, { CoolerMasterLedIds.T, new Tuple(2,5) }, { CoolerMasterLedIds.Y, new Tuple(2,6) }, { CoolerMasterLedIds.U, new Tuple(2,7) }, { CoolerMasterLedIds.I, new Tuple(2,8) }, { CoolerMasterLedIds.O, new Tuple(2,9) }, { CoolerMasterLedIds.P, new Tuple(2,10) }, { CoolerMasterLedIds.BracketLeft, new Tuple(2,11) }, { CoolerMasterLedIds.BracketRight, new Tuple(2,12) }, { CoolerMasterLedIds.Backslash, new Tuple(2,14) }, { CoolerMasterLedIds.Delete, new Tuple(2,15) }, { CoolerMasterLedIds.End, new Tuple(2,16) }, { CoolerMasterLedIds.PageDown, new Tuple(2,17) }, { CoolerMasterLedIds.Keypad7, new Tuple(2,18) }, { CoolerMasterLedIds.Keypad8, new Tuple(2,19) }, { CoolerMasterLedIds.Keypad9, new Tuple(2,20) }, { CoolerMasterLedIds.KeypadPlus, new Tuple(2,21) }, { CoolerMasterLedIds.CapsLock, new Tuple(3,0) }, { CoolerMasterLedIds.A, new Tuple(3,1) }, { CoolerMasterLedIds.S, new Tuple(3,2) }, { CoolerMasterLedIds.D, new Tuple(3,3) }, { CoolerMasterLedIds.F, new Tuple(3,4) }, { CoolerMasterLedIds.G, new Tuple(3,5) }, { CoolerMasterLedIds.H, new Tuple(3,6) }, { CoolerMasterLedIds.J, new Tuple(3,7) }, { CoolerMasterLedIds.K, new Tuple(3,8) }, { CoolerMasterLedIds.L, new Tuple(3,9) }, { CoolerMasterLedIds.Semicolon, new Tuple(3,10) }, { CoolerMasterLedIds.Apostroph, new Tuple(3,11) }, { CoolerMasterLedIds.Enter, new Tuple(3,14) }, { CoolerMasterLedIds.Keypad4, new Tuple(3,18) }, { CoolerMasterLedIds.Keypad5, new Tuple(3,19) }, { CoolerMasterLedIds.Keypad6, new Tuple(3,20) }, { CoolerMasterLedIds.LShift, new Tuple(4,0) }, { CoolerMasterLedIds.Z, new Tuple(4,2) }, { CoolerMasterLedIds.X, new Tuple(4,3) }, { CoolerMasterLedIds.C, new Tuple(4,4) }, { CoolerMasterLedIds.V, new Tuple(4,5) }, { CoolerMasterLedIds.B, new Tuple(4,6) }, { CoolerMasterLedIds.N, new Tuple(4,7) }, { CoolerMasterLedIds.M, new Tuple(4,8) }, { CoolerMasterLedIds.Comma, new Tuple(4,9) }, { CoolerMasterLedIds.Period, new Tuple(4,10) }, { CoolerMasterLedIds.Slash, new Tuple(4,11) }, { CoolerMasterLedIds.RShift, new Tuple(4,14) }, { CoolerMasterLedIds.Up, new Tuple(4,16) }, { CoolerMasterLedIds.Keypad1, new Tuple(4,18) }, { CoolerMasterLedIds.Keypad2, new Tuple(4,19) }, { CoolerMasterLedIds.Keypad3, new Tuple(4,20) }, { CoolerMasterLedIds.KeypadEnter, new Tuple(4,21) }, { CoolerMasterLedIds.LCtrl, new Tuple(5,0) }, { CoolerMasterLedIds.LWin, new Tuple(5,1) }, { CoolerMasterLedIds.LAlt, new Tuple(5,2) }, { CoolerMasterLedIds.Space, new Tuple(5,6) }, { CoolerMasterLedIds.RAlt, new Tuple(5,10) }, { CoolerMasterLedIds.RWin, new Tuple(5,11) }, { CoolerMasterLedIds.App, new Tuple(5,12) }, { CoolerMasterLedIds.RCtrl, new Tuple(5,14) }, { CoolerMasterLedIds.Left, new Tuple(5,15) }, { CoolerMasterLedIds.Down, new Tuple(5,16) }, { CoolerMasterLedIds.Right, new Tuple(5,17) }, { CoolerMasterLedIds.Keypad0, new Tuple(5,18) }, { CoolerMasterLedIds.KeypadPeriod, new Tuple(5,20) } }; private static readonly Dictionary> MasterKeysL_EU = new Dictionary> { { CoolerMasterLedIds.Esc, new Tuple(0,0) }, { CoolerMasterLedIds.F1, new Tuple(0,1) }, { CoolerMasterLedIds.F2, new Tuple(0,2) }, { CoolerMasterLedIds.F3, new Tuple(0,3) }, { CoolerMasterLedIds.F4, new Tuple(0,4) }, { CoolerMasterLedIds.F5, new Tuple(0,6) }, { CoolerMasterLedIds.F6, new Tuple(0,7) }, { CoolerMasterLedIds.F7, new Tuple(0,8) }, { CoolerMasterLedIds.F8, new Tuple(0,9) }, { CoolerMasterLedIds.F9, new Tuple(0,11) }, { CoolerMasterLedIds.F10, new Tuple(0,12) }, { CoolerMasterLedIds.F11, new Tuple(0,13) }, { CoolerMasterLedIds.F12, new Tuple(0,14) }, { CoolerMasterLedIds.Snapshot, new Tuple(0,15) }, { CoolerMasterLedIds.ScrollLock, new Tuple(0,16) }, { CoolerMasterLedIds.Pause, new Tuple(0,17) }, { CoolerMasterLedIds.P1, new Tuple(0,18) }, { CoolerMasterLedIds.P2, new Tuple(0,19) }, { CoolerMasterLedIds.P3, new Tuple(0,20) }, { CoolerMasterLedIds.P4, new Tuple(0,21) }, { CoolerMasterLedIds.Gravis, new Tuple(1,0) }, { CoolerMasterLedIds.D1, new Tuple(1,1) }, { CoolerMasterLedIds.D2, new Tuple(1,2) }, { CoolerMasterLedIds.D3, new Tuple(1,3) }, { CoolerMasterLedIds.D4, new Tuple(1,4) }, { CoolerMasterLedIds.D5, new Tuple(1,5) }, { CoolerMasterLedIds.D6, new Tuple(1,6) }, { CoolerMasterLedIds.D7, new Tuple(1,7) }, { CoolerMasterLedIds.D8, new Tuple(1,8) }, { CoolerMasterLedIds.D9, new Tuple(1,9) }, { CoolerMasterLedIds.D0, new Tuple(1,10) }, { CoolerMasterLedIds.Minus, new Tuple(1,11) }, { CoolerMasterLedIds.Equals, new Tuple(1,12) }, { CoolerMasterLedIds.Backspace, new Tuple(1,14) }, { CoolerMasterLedIds.Insert, new Tuple(1,15) }, { CoolerMasterLedIds.Home, new Tuple(1,16) }, { CoolerMasterLedIds.PageUp, new Tuple(1,17) }, { CoolerMasterLedIds.Numlock, new Tuple(1,18) }, { CoolerMasterLedIds.KeypadSlash, new Tuple(1,19) }, { CoolerMasterLedIds.KeypadAsterisk, new Tuple(1,20) }, { CoolerMasterLedIds.KeypadMinus, new Tuple(1,21) }, { CoolerMasterLedIds.Tab, new Tuple(2,0) }, { CoolerMasterLedIds.Q, new Tuple(2,1) }, { CoolerMasterLedIds.W, new Tuple(2,2) }, { CoolerMasterLedIds.E, new Tuple(2,3) }, { CoolerMasterLedIds.R, new Tuple(2,4) }, { CoolerMasterLedIds.T, new Tuple(2,5) }, { CoolerMasterLedIds.Y, new Tuple(2,6) }, { CoolerMasterLedIds.U, new Tuple(2,7) }, { CoolerMasterLedIds.I, new Tuple(2,8) }, { CoolerMasterLedIds.O, new Tuple(2,9) }, { CoolerMasterLedIds.P, new Tuple(2,10) }, { CoolerMasterLedIds.BracketLeft, new Tuple(2,11) }, { CoolerMasterLedIds.BracketRight, new Tuple(2,12) }, { CoolerMasterLedIds.Enter, new Tuple(2,14) }, { CoolerMasterLedIds.Delete, new Tuple(2,15) }, { CoolerMasterLedIds.End, new Tuple(2,16) }, { CoolerMasterLedIds.PageDown, new Tuple(2,17) }, { CoolerMasterLedIds.Keypad7, new Tuple(2,18) }, { CoolerMasterLedIds.Keypad8, new Tuple(2,19) }, { CoolerMasterLedIds.Keypad9, new Tuple(2,20) }, { CoolerMasterLedIds.KeypadPlus, new Tuple(2,21) }, { CoolerMasterLedIds.CapsLock, new Tuple(3,0) }, { CoolerMasterLedIds.A, new Tuple(3,1) }, { CoolerMasterLedIds.S, new Tuple(3,2) }, { CoolerMasterLedIds.D, new Tuple(3,3) }, { CoolerMasterLedIds.F, new Tuple(3,4) }, { CoolerMasterLedIds.G, new Tuple(3,5) }, { CoolerMasterLedIds.H, new Tuple(3,6) }, { CoolerMasterLedIds.J, new Tuple(3,7) }, { CoolerMasterLedIds.K, new Tuple(3,8) }, { CoolerMasterLedIds.L, new Tuple(3,9) }, { CoolerMasterLedIds.Semicolon, new Tuple(3,10) }, { CoolerMasterLedIds.Apostroph, new Tuple(3,11) }, { CoolerMasterLedIds.CODEA2, new Tuple(3,12) }, { CoolerMasterLedIds.Keypad4, new Tuple(3,18) }, { CoolerMasterLedIds.Keypad5, new Tuple(3,19) }, { CoolerMasterLedIds.Keypad6, new Tuple(3,20) }, { CoolerMasterLedIds.LShift, new Tuple(4,0) }, { CoolerMasterLedIds.CODEA5, new Tuple(4,1) }, { CoolerMasterLedIds.Z, new Tuple(4,2) }, { CoolerMasterLedIds.X, new Tuple(4,3) }, { CoolerMasterLedIds.C, new Tuple(4,4) }, { CoolerMasterLedIds.V, new Tuple(4,5) }, { CoolerMasterLedIds.B, new Tuple(4,6) }, { CoolerMasterLedIds.N, new Tuple(4,7) }, { CoolerMasterLedIds.M, new Tuple(4,8) }, { CoolerMasterLedIds.Comma, new Tuple(4,9) }, { CoolerMasterLedIds.Period, new Tuple(4,10) }, { CoolerMasterLedIds.Slash, new Tuple(4,11) }, { CoolerMasterLedIds.RShift, new Tuple(4,14) }, { CoolerMasterLedIds.Up, new Tuple(4,16) }, { CoolerMasterLedIds.Keypad1, new Tuple(4,18) }, { CoolerMasterLedIds.Keypad2, new Tuple(4,19) }, { CoolerMasterLedIds.Keypad3, new Tuple(4,20) }, { CoolerMasterLedIds.KeypadEnter, new Tuple(4,21) }, { CoolerMasterLedIds.LCtrl, new Tuple(5,0) }, { CoolerMasterLedIds.LWin, new Tuple(5,1) }, { CoolerMasterLedIds.LAlt, new Tuple(5,2) }, { CoolerMasterLedIds.Space, new Tuple(5,6) }, { CoolerMasterLedIds.RAlt, new Tuple(5,10) }, { CoolerMasterLedIds.RWin, new Tuple(5,11) }, { CoolerMasterLedIds.App, new Tuple(5,12) }, { CoolerMasterLedIds.RCtrl, new Tuple(5,14) }, { CoolerMasterLedIds.Left, new Tuple(5,15) }, { CoolerMasterLedIds.Down, new Tuple(5,16) }, { CoolerMasterLedIds.Right, new Tuple(5,17) }, { CoolerMasterLedIds.Keypad0, new Tuple(5,18) }, { CoolerMasterLedIds.KeypadPeriod, new Tuple(5,20) } }; #endregion #region MasterKeysM private static readonly Dictionary> MasterKeysM_US = new Dictionary> { { CoolerMasterLedIds.Esc, new Tuple(0,0) }, { CoolerMasterLedIds.F1, new Tuple(0,1) }, { CoolerMasterLedIds.F2, new Tuple(0,2) }, { CoolerMasterLedIds.F3, new Tuple(0,3) }, { CoolerMasterLedIds.F4, new Tuple(0,4) }, { CoolerMasterLedIds.F5, new Tuple(0,6) }, { CoolerMasterLedIds.F6, new Tuple(0,7) }, { CoolerMasterLedIds.F7, new Tuple(0,8) }, { CoolerMasterLedIds.F8, new Tuple(0,9) }, { CoolerMasterLedIds.F9, new Tuple(0,11) }, { CoolerMasterLedIds.F10, new Tuple(0,12) }, { CoolerMasterLedIds.F11, new Tuple(0,13) }, { CoolerMasterLedIds.F12, new Tuple(0,14) }, { CoolerMasterLedIds.Gravis, new Tuple(1,0) }, { CoolerMasterLedIds.D1, new Tuple(1,1) }, { CoolerMasterLedIds.D2, new Tuple(1,2) }, { CoolerMasterLedIds.D3, new Tuple(1,3) }, { CoolerMasterLedIds.D4, new Tuple(1,4) }, { CoolerMasterLedIds.D5, new Tuple(1,5) }, { CoolerMasterLedIds.D6, new Tuple(1,6) }, { CoolerMasterLedIds.D7, new Tuple(1,7) }, { CoolerMasterLedIds.D8, new Tuple(1,8) }, { CoolerMasterLedIds.D9, new Tuple(1,9) }, { CoolerMasterLedIds.D0, new Tuple(1,10) }, { CoolerMasterLedIds.Minus, new Tuple(1,11) }, { CoolerMasterLedIds.Equals, new Tuple(1,12) }, { CoolerMasterLedIds.Backspace, new Tuple(1,14) }, { CoolerMasterLedIds.Numlock, new Tuple(1,15) }, { CoolerMasterLedIds.KeypadSlash, new Tuple(1,16) }, { CoolerMasterLedIds.KeypadAsterisk, new Tuple(1,17) }, { CoolerMasterLedIds.KeypadMinus, new Tuple(1,18) }, { CoolerMasterLedIds.Tab, new Tuple(2,0) }, { CoolerMasterLedIds.Q, new Tuple(2,1) }, { CoolerMasterLedIds.W, new Tuple(2,2) }, { CoolerMasterLedIds.E, new Tuple(2,3) }, { CoolerMasterLedIds.R, new Tuple(2,4) }, { CoolerMasterLedIds.T, new Tuple(2,5) }, { CoolerMasterLedIds.Y, new Tuple(2,6) }, { CoolerMasterLedIds.U, new Tuple(2,7) }, { CoolerMasterLedIds.I, new Tuple(2,8) }, { CoolerMasterLedIds.O, new Tuple(2,9) }, { CoolerMasterLedIds.P, new Tuple(2,10) }, { CoolerMasterLedIds.BracketLeft, new Tuple(2,11) }, { CoolerMasterLedIds.BracketRight, new Tuple(2,12) }, { CoolerMasterLedIds.Backslash, new Tuple(2,14) }, { CoolerMasterLedIds.Keypad7, new Tuple(2,15) }, { CoolerMasterLedIds.Keypad8, new Tuple(2,16) }, { CoolerMasterLedIds.Keypad9, new Tuple(2,17) }, { CoolerMasterLedIds.KeypadPlus, new Tuple(2,18) }, { CoolerMasterLedIds.CapsLock, new Tuple(3,0) }, { CoolerMasterLedIds.A, new Tuple(3,1) }, { CoolerMasterLedIds.S, new Tuple(3,2) }, { CoolerMasterLedIds.D, new Tuple(3,3) }, { CoolerMasterLedIds.F, new Tuple(3,4) }, { CoolerMasterLedIds.G, new Tuple(3,5) }, { CoolerMasterLedIds.H, new Tuple(3,6) }, { CoolerMasterLedIds.J, new Tuple(3,7) }, { CoolerMasterLedIds.K, new Tuple(3,8) }, { CoolerMasterLedIds.L, new Tuple(3,9) }, { CoolerMasterLedIds.Semicolon, new Tuple(3,10) }, { CoolerMasterLedIds.Apostroph, new Tuple(3,11) }, { CoolerMasterLedIds.Enter, new Tuple(3,14) }, { CoolerMasterLedIds.Keypad4, new Tuple(3,15) }, { CoolerMasterLedIds.Keypad5, new Tuple(3,16) }, { CoolerMasterLedIds.Keypad6, new Tuple(3,17) }, { CoolerMasterLedIds.LShift, new Tuple(4,0) }, { CoolerMasterLedIds.Z, new Tuple(4,2) }, { CoolerMasterLedIds.X, new Tuple(4,3) }, { CoolerMasterLedIds.C, new Tuple(4,4) }, { CoolerMasterLedIds.V, new Tuple(4,5) }, { CoolerMasterLedIds.B, new Tuple(4,6) }, { CoolerMasterLedIds.N, new Tuple(4,7) }, { CoolerMasterLedIds.M, new Tuple(4,8) }, { CoolerMasterLedIds.Comma, new Tuple(4,9) }, { CoolerMasterLedIds.Period, new Tuple(4,10) }, { CoolerMasterLedIds.Slash, new Tuple(4,11) }, { CoolerMasterLedIds.RShift, new Tuple(4,14) }, { CoolerMasterLedIds.U, new Tuple(4,16) }, { CoolerMasterLedIds.Keypad1, new Tuple(4,15) }, { CoolerMasterLedIds.Keypad2, new Tuple(4,16) }, { CoolerMasterLedIds.Keypad3, new Tuple(4,17) }, { CoolerMasterLedIds.KeypadEnter, new Tuple(4,18) }, { CoolerMasterLedIds.LCtrl, new Tuple(5,0) }, { CoolerMasterLedIds.LWin, new Tuple(5,1) }, { CoolerMasterLedIds.LAlt, new Tuple(5,2) }, { CoolerMasterLedIds.Space, new Tuple(5,6) }, { CoolerMasterLedIds.RAlt, new Tuple(5,10) }, { CoolerMasterLedIds.RWin, new Tuple(5,11) }, { CoolerMasterLedIds.App, new Tuple(5,12) }, { CoolerMasterLedIds.RCtrl, new Tuple(5,14) }, { CoolerMasterLedIds.Keypad0, new Tuple(5,15) }, { CoolerMasterLedIds.Keypad00, new Tuple(5,16) }, { CoolerMasterLedIds.KeypadPeriod, new Tuple(5,17) } }; private static readonly Dictionary> MasterKeysM_EU = new Dictionary> { { CoolerMasterLedIds.Esc, new Tuple(0,0) }, { CoolerMasterLedIds.F1, new Tuple(0,1) }, { CoolerMasterLedIds.F2, new Tuple(0,2) }, { CoolerMasterLedIds.F3, new Tuple(0,3) }, { CoolerMasterLedIds.F4, new Tuple(0,4) }, { CoolerMasterLedIds.F5, new Tuple(0,6) }, { CoolerMasterLedIds.F6, new Tuple(0,7) }, { CoolerMasterLedIds.F7, new Tuple(0,8) }, { CoolerMasterLedIds.F8, new Tuple(0,9) }, { CoolerMasterLedIds.F9, new Tuple(0,11) }, { CoolerMasterLedIds.F10, new Tuple(0,12) }, { CoolerMasterLedIds.F11, new Tuple(0,13) }, { CoolerMasterLedIds.F12, new Tuple(0,14) }, { CoolerMasterLedIds.Gravis, new Tuple(1,0) }, { CoolerMasterLedIds.D1, new Tuple(1,1) }, { CoolerMasterLedIds.D2, new Tuple(1,2) }, { CoolerMasterLedIds.D3, new Tuple(1,3) }, { CoolerMasterLedIds.D4, new Tuple(1,4) }, { CoolerMasterLedIds.D5, new Tuple(1,5) }, { CoolerMasterLedIds.D6, new Tuple(1,6) }, { CoolerMasterLedIds.D7, new Tuple(1,7) }, { CoolerMasterLedIds.D8, new Tuple(1,8) }, { CoolerMasterLedIds.D9, new Tuple(1,9) }, { CoolerMasterLedIds.D0, new Tuple(1,10) }, { CoolerMasterLedIds.Minus, new Tuple(1,11) }, { CoolerMasterLedIds.Equals, new Tuple(1,12) }, { CoolerMasterLedIds.Backspace, new Tuple(1,14) }, { CoolerMasterLedIds.Numlock, new Tuple(1,15) }, { CoolerMasterLedIds.KeypadSlash, new Tuple(1,16) }, { CoolerMasterLedIds.KeypadAsterisk, new Tuple(1,17) }, { CoolerMasterLedIds.KeypadMinus, new Tuple(1,18) }, { CoolerMasterLedIds.Tab, new Tuple(2,0) }, { CoolerMasterLedIds.Q, new Tuple(2,1) }, { CoolerMasterLedIds.W, new Tuple(2,2) }, { CoolerMasterLedIds.E, new Tuple(2,3) }, { CoolerMasterLedIds.R, new Tuple(2,4) }, { CoolerMasterLedIds.T, new Tuple(2,5) }, { CoolerMasterLedIds.Y, new Tuple(2,6) }, { CoolerMasterLedIds.U, new Tuple(2,7) }, { CoolerMasterLedIds.I, new Tuple(2,8) }, { CoolerMasterLedIds.O, new Tuple(2,9) }, { CoolerMasterLedIds.P, new Tuple(2,10) }, { CoolerMasterLedIds.BracketLeft, new Tuple(2,11) }, { CoolerMasterLedIds.BracketRight, new Tuple(2,12) }, { CoolerMasterLedIds.Backslash, new Tuple(2,14) }, { CoolerMasterLedIds.Keypad7, new Tuple(2,15) }, { CoolerMasterLedIds.Keypad8, new Tuple(2,16) }, { CoolerMasterLedIds.Keypad9, new Tuple(2,17) }, { CoolerMasterLedIds.KeypadPlus, new Tuple(2,18) }, { CoolerMasterLedIds.CapsLock, new Tuple(3,0) }, { CoolerMasterLedIds.A, new Tuple(3,1) }, { CoolerMasterLedIds.S, new Tuple(3,2) }, { CoolerMasterLedIds.D, new Tuple(3,3) }, { CoolerMasterLedIds.F, new Tuple(3,4) }, { CoolerMasterLedIds.G, new Tuple(3,5) }, { CoolerMasterLedIds.H, new Tuple(3,6) }, { CoolerMasterLedIds.J, new Tuple(3,7) }, { CoolerMasterLedIds.K, new Tuple(3,8) }, { CoolerMasterLedIds.L, new Tuple(3,9) }, { CoolerMasterLedIds.Semicolon, new Tuple(3,10) }, { CoolerMasterLedIds.Apostroph, new Tuple(3,11) }, { CoolerMasterLedIds.CODEA2, new Tuple(3,12) }, { CoolerMasterLedIds.Keypad4, new Tuple(3,15) }, { CoolerMasterLedIds.Keypad5, new Tuple(3,16) }, { CoolerMasterLedIds.Keypad6, new Tuple(3,17) }, { CoolerMasterLedIds.LShift, new Tuple(4,0) }, { CoolerMasterLedIds.CODEA5, new Tuple(4,1) }, { CoolerMasterLedIds.Z, new Tuple(4,2) }, { CoolerMasterLedIds.X, new Tuple(4,3) }, { CoolerMasterLedIds.C, new Tuple(4,4) }, { CoolerMasterLedIds.V, new Tuple(4,5) }, { CoolerMasterLedIds.B, new Tuple(4,6) }, { CoolerMasterLedIds.N, new Tuple(4,7) }, { CoolerMasterLedIds.M, new Tuple(4,8) }, { CoolerMasterLedIds.Comma, new Tuple(4,9) }, { CoolerMasterLedIds.Period, new Tuple(4,10) }, { CoolerMasterLedIds.Slash, new Tuple(4,11) }, { CoolerMasterLedIds.RShift, new Tuple(4,14) }, { CoolerMasterLedIds.U, new Tuple(4,16) }, { CoolerMasterLedIds.Keypad1, new Tuple(4,15) }, { CoolerMasterLedIds.Keypad2, new Tuple(4,16) }, { CoolerMasterLedIds.Keypad3, new Tuple(4,17) }, { CoolerMasterLedIds.KeypadEnter, new Tuple(4,18) }, { CoolerMasterLedIds.LCtrl, new Tuple(5,0) }, { CoolerMasterLedIds.LWin, new Tuple(5,1) }, { CoolerMasterLedIds.LAlt, new Tuple(5,2) }, { CoolerMasterLedIds.Space, new Tuple(5,6) }, { CoolerMasterLedIds.RAlt, new Tuple(5,10) }, { CoolerMasterLedIds.RWin, new Tuple(5,11) }, { CoolerMasterLedIds.App, new Tuple(5,12) }, { CoolerMasterLedIds.RCtrl, new Tuple(5,14) }, { CoolerMasterLedIds.Keypad0, new Tuple(5,15) }, { CoolerMasterLedIds.Keypad00, new Tuple(5,16) }, { CoolerMasterLedIds.KeypadPeriod, new Tuple(5,17) } }; #endregion #region MasterKeysS private static readonly Dictionary> MasterKeysS_US = new Dictionary> { { CoolerMasterLedIds.Esc, new Tuple(0,0) }, { CoolerMasterLedIds.F1, new Tuple(0,1) }, { CoolerMasterLedIds.F2, new Tuple(0,2) }, { CoolerMasterLedIds.F3, new Tuple(0,3) }, { CoolerMasterLedIds.F4, new Tuple(0,4) }, { CoolerMasterLedIds.F5, new Tuple(0,6) }, { CoolerMasterLedIds.F6, new Tuple(0,7) }, { CoolerMasterLedIds.F7, new Tuple(0,8) }, { CoolerMasterLedIds.F8, new Tuple(0,9) }, { CoolerMasterLedIds.F9, new Tuple(0,11) }, { CoolerMasterLedIds.F10, new Tuple(0,12) }, { CoolerMasterLedIds.F11, new Tuple(0,13) }, { CoolerMasterLedIds.F12, new Tuple(0,14) }, { CoolerMasterLedIds.Snapshot, new Tuple(0,15) }, { CoolerMasterLedIds.ScrollLock, new Tuple(0,16) }, { CoolerMasterLedIds.Pause, new Tuple(0,17) }, { CoolerMasterLedIds.Gravis, new Tuple(1,0) }, { CoolerMasterLedIds.D1, new Tuple(1,1) }, { CoolerMasterLedIds.D2, new Tuple(1,2) }, { CoolerMasterLedIds.D3, new Tuple(1,3) }, { CoolerMasterLedIds.D4, new Tuple(1,4) }, { CoolerMasterLedIds.D5, new Tuple(1,5) }, { CoolerMasterLedIds.D6, new Tuple(1,6) }, { CoolerMasterLedIds.D7, new Tuple(1,7) }, { CoolerMasterLedIds.D8, new Tuple(1,8) }, { CoolerMasterLedIds.D9, new Tuple(1,9) }, { CoolerMasterLedIds.D0, new Tuple(1,10) }, { CoolerMasterLedIds.Minus, new Tuple(1,11) }, { CoolerMasterLedIds.Equals, new Tuple(1,12) }, { CoolerMasterLedIds.Backspace, new Tuple(1,14) }, { CoolerMasterLedIds.Insert, new Tuple(1,15) }, { CoolerMasterLedIds.Home, new Tuple(1,16) }, { CoolerMasterLedIds.PageUp, new Tuple(1,17) }, { CoolerMasterLedIds.Tab, new Tuple(2,0) }, { CoolerMasterLedIds.Q, new Tuple(2,1) }, { CoolerMasterLedIds.W, new Tuple(2,2) }, { CoolerMasterLedIds.E, new Tuple(2,3) }, { CoolerMasterLedIds.R, new Tuple(2,4) }, { CoolerMasterLedIds.T, new Tuple(2,5) }, { CoolerMasterLedIds.Y, new Tuple(2,6) }, { CoolerMasterLedIds.U, new Tuple(2,7) }, { CoolerMasterLedIds.I, new Tuple(2,8) }, { CoolerMasterLedIds.O, new Tuple(2,9) }, { CoolerMasterLedIds.P, new Tuple(2,10) }, { CoolerMasterLedIds.BracketLeft, new Tuple(2,11) }, { CoolerMasterLedIds.BracketRight, new Tuple(2,12) }, { CoolerMasterLedIds.Backslash, new Tuple(2,14) }, { CoolerMasterLedIds.Delete, new Tuple(2,15) }, { CoolerMasterLedIds.End, new Tuple(2,16) }, { CoolerMasterLedIds.PageDown, new Tuple(2,17) }, { CoolerMasterLedIds.CapsLock, new Tuple(3,0) }, { CoolerMasterLedIds.A, new Tuple(3,1) }, { CoolerMasterLedIds.S, new Tuple(3,2) }, { CoolerMasterLedIds.D, new Tuple(3,3) }, { CoolerMasterLedIds.F, new Tuple(3,4) }, { CoolerMasterLedIds.G, new Tuple(3,5) }, { CoolerMasterLedIds.H, new Tuple(3,6) }, { CoolerMasterLedIds.J, new Tuple(3,7) }, { CoolerMasterLedIds.K, new Tuple(3,8) }, { CoolerMasterLedIds.L, new Tuple(3,9) }, { CoolerMasterLedIds.Semicolon, new Tuple(3,10) }, { CoolerMasterLedIds.Apostroph, new Tuple(3,11) }, { CoolerMasterLedIds.Enter, new Tuple(3,14) }, { CoolerMasterLedIds.LShift, new Tuple(4,0) }, { CoolerMasterLedIds.Z, new Tuple(4,2) }, { CoolerMasterLedIds.X, new Tuple(4,3) }, { CoolerMasterLedIds.C, new Tuple(4,4) }, { CoolerMasterLedIds.V, new Tuple(4,5) }, { CoolerMasterLedIds.B, new Tuple(4,6) }, { CoolerMasterLedIds.N, new Tuple(4,7) }, { CoolerMasterLedIds.M, new Tuple(4,8) }, { CoolerMasterLedIds.Comma, new Tuple(4,9) }, { CoolerMasterLedIds.Period, new Tuple(4,10) }, { CoolerMasterLedIds.Slash, new Tuple(4,11) }, { CoolerMasterLedIds.RShift, new Tuple(4,14) }, { CoolerMasterLedIds.Up, new Tuple(4,16) }, { CoolerMasterLedIds.LCtrl, new Tuple(5,0) }, { CoolerMasterLedIds.LWin, new Tuple(5,1) }, { CoolerMasterLedIds.LAlt, new Tuple(5,2) }, { CoolerMasterLedIds.Space, new Tuple(5,6) }, { CoolerMasterLedIds.RAlt, new Tuple(5,10) }, { CoolerMasterLedIds.RWin, new Tuple(5,11) }, { CoolerMasterLedIds.App, new Tuple(5,12) }, { CoolerMasterLedIds.RCtrl, new Tuple(5,14) }, { CoolerMasterLedIds.Left, new Tuple(5,15) }, { CoolerMasterLedIds.Down, new Tuple(5,16) }, { CoolerMasterLedIds.Right, new Tuple(5,17) } }; private static readonly Dictionary> MasterKeysS_EU = new Dictionary> { { CoolerMasterLedIds.Esc, new Tuple(0,0) }, { CoolerMasterLedIds.F1, new Tuple(0,1) }, { CoolerMasterLedIds.F2, new Tuple(0,2) }, { CoolerMasterLedIds.F3, new Tuple(0,3) }, { CoolerMasterLedIds.F4, new Tuple(0,4) }, { CoolerMasterLedIds.F5, new Tuple(0,6) }, { CoolerMasterLedIds.F6, new Tuple(0,7) }, { CoolerMasterLedIds.F7, new Tuple(0,8) }, { CoolerMasterLedIds.F8, new Tuple(0,9) }, { CoolerMasterLedIds.F9, new Tuple(0,11) }, { CoolerMasterLedIds.F10, new Tuple(0,12) }, { CoolerMasterLedIds.F11, new Tuple(0,13) }, { CoolerMasterLedIds.F12, new Tuple(0,14) }, { CoolerMasterLedIds.Snapshot, new Tuple(0,15) }, { CoolerMasterLedIds.ScrollLock, new Tuple(0,16) }, { CoolerMasterLedIds.Pause, new Tuple(0,17) }, { CoolerMasterLedIds.Gravis, new Tuple(1,0) }, { CoolerMasterLedIds.D1, new Tuple(1,1) }, { CoolerMasterLedIds.D2, new Tuple(1,2) }, { CoolerMasterLedIds.D3, new Tuple(1,3) }, { CoolerMasterLedIds.D4, new Tuple(1,4) }, { CoolerMasterLedIds.D5, new Tuple(1,5) }, { CoolerMasterLedIds.D6, new Tuple(1,6) }, { CoolerMasterLedIds.D7, new Tuple(1,7) }, { CoolerMasterLedIds.D8, new Tuple(1,8) }, { CoolerMasterLedIds.D9, new Tuple(1,9) }, { CoolerMasterLedIds.D0, new Tuple(1,10) }, { CoolerMasterLedIds.Minus, new Tuple(1,11) }, { CoolerMasterLedIds.Equals, new Tuple(1,12) }, { CoolerMasterLedIds.Backspace, new Tuple(1,14) }, { CoolerMasterLedIds.Insert, new Tuple(1,15) }, { CoolerMasterLedIds.Home, new Tuple(1,16) }, { CoolerMasterLedIds.PageUp, new Tuple(1,17) }, { CoolerMasterLedIds.Tab, new Tuple(2,0) }, { CoolerMasterLedIds.Q, new Tuple(2,1) }, { CoolerMasterLedIds.W, new Tuple(2,2) }, { CoolerMasterLedIds.E, new Tuple(2,3) }, { CoolerMasterLedIds.R, new Tuple(2,4) }, { CoolerMasterLedIds.T, new Tuple(2,5) }, { CoolerMasterLedIds.Y, new Tuple(2,6) }, { CoolerMasterLedIds.U, new Tuple(2,7) }, { CoolerMasterLedIds.I, new Tuple(2,8) }, { CoolerMasterLedIds.O, new Tuple(2,9) }, { CoolerMasterLedIds.P, new Tuple(2,10) }, { CoolerMasterLedIds.BracketLeft, new Tuple(2,11) }, { CoolerMasterLedIds.BracketRight, new Tuple(2,12) }, { CoolerMasterLedIds.Enter, new Tuple(2,14) }, { CoolerMasterLedIds.Delete, new Tuple(2,15) }, { CoolerMasterLedIds.End, new Tuple(2,16) }, { CoolerMasterLedIds.PageDown, new Tuple(2,17) }, { CoolerMasterLedIds.CapsLock, new Tuple(3,0) }, { CoolerMasterLedIds.A, new Tuple(3,1) }, { CoolerMasterLedIds.S, new Tuple(3,2) }, { CoolerMasterLedIds.D, new Tuple(3,3) }, { CoolerMasterLedIds.F, new Tuple(3,4) }, { CoolerMasterLedIds.G, new Tuple(3,5) }, { CoolerMasterLedIds.H, new Tuple(3,6) }, { CoolerMasterLedIds.J, new Tuple(3,7) }, { CoolerMasterLedIds.K, new Tuple(3,8) }, { CoolerMasterLedIds.L, new Tuple(3,9) }, { CoolerMasterLedIds.Semicolon, new Tuple(3,10) }, { CoolerMasterLedIds.Apostroph, new Tuple(3,11) }, { CoolerMasterLedIds.CODEA2, new Tuple(3,12) }, { CoolerMasterLedIds.LShift, new Tuple(4,0) }, { CoolerMasterLedIds.CODEA5, new Tuple(4,1) }, { CoolerMasterLedIds.Z, new Tuple(4,2) }, { CoolerMasterLedIds.X, new Tuple(4,3) }, { CoolerMasterLedIds.C, new Tuple(4,4) }, { CoolerMasterLedIds.V, new Tuple(4,5) }, { CoolerMasterLedIds.B, new Tuple(4,6) }, { CoolerMasterLedIds.N, new Tuple(4,7) }, { CoolerMasterLedIds.M, new Tuple(4,8) }, { CoolerMasterLedIds.Comma, new Tuple(4,9) }, { CoolerMasterLedIds.Period, new Tuple(4,10) }, { CoolerMasterLedIds.Slash, new Tuple(4,11) }, { CoolerMasterLedIds.RShift, new Tuple(4,14) }, { CoolerMasterLedIds.Up, new Tuple(4,16) }, { CoolerMasterLedIds.LCtrl, new Tuple(5,0) }, { CoolerMasterLedIds.LWin, new Tuple(5,1) }, { CoolerMasterLedIds.LAlt, new Tuple(5,2) }, { CoolerMasterLedIds.Space, new Tuple(5,6) }, { CoolerMasterLedIds.RAlt, new Tuple(5,10) }, { CoolerMasterLedIds.RWin, new Tuple(5,11) }, { CoolerMasterLedIds.App, new Tuple(5,12) }, { CoolerMasterLedIds.RCtrl, new Tuple(5,14) }, { CoolerMasterLedIds.Left, new Tuple(5,15) }, { CoolerMasterLedIds.Down, new Tuple(5,16) }, { CoolerMasterLedIds.Right, new Tuple(5,17) } }; #endregion /// /// Contains all the hardware-id mappings for CoolerMaster devices. /// public static readonly Dictionary>>> Mapping = new Dictionary>>> { { CoolerMasterDevicesIndexes.MasterKeys_L, new Dictionary>> { { CoolerMasterPhysicalKeyboardLayout.US, MasterKeysL_US }, { CoolerMasterPhysicalKeyboardLayout.EU, MasterKeysL_EU } } }, { CoolerMasterDevicesIndexes.MasterKeys_M, new Dictionary>> { { CoolerMasterPhysicalKeyboardLayout.US, MasterKeysM_US }, { CoolerMasterPhysicalKeyboardLayout.EU, MasterKeysM_EU } } }, { CoolerMasterDevicesIndexes.MasterKeys_S, new Dictionary>> { { CoolerMasterPhysicalKeyboardLayout.US, MasterKeysS_US }, { CoolerMasterPhysicalKeyboardLayout.EU, MasterKeysS_EU } } }, { CoolerMasterDevicesIndexes.MasterKeys_L_White, new Dictionary>> { { CoolerMasterPhysicalKeyboardLayout.US, MasterKeysL_US }, { CoolerMasterPhysicalKeyboardLayout.EU, MasterKeysL_EU } } }, { CoolerMasterDevicesIndexes.MasterKeys_M_White, new Dictionary>> { { CoolerMasterPhysicalKeyboardLayout.US, MasterKeysM_US }, { CoolerMasterPhysicalKeyboardLayout.EU, MasterKeysM_EU } } }, { CoolerMasterDevicesIndexes.MasterKeys_S_White, new Dictionary>> { { CoolerMasterPhysicalKeyboardLayout.US, MasterKeysS_US }, { CoolerMasterPhysicalKeyboardLayout.EU, MasterKeysS_EU } } }, }; #endregion } }