// 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