using System.Collections.Generic; using RGB.NET.Core; namespace Artemis.Core.Services { /// /// Utilities for mapping keys and buttons to LEDs /// public static class InputKeyUtilities { /// /// A dictionary of mappings between and /// public static readonly Dictionary KeyboardKeyLedIdMap = new() { {KeyboardKey.None, LedId.Keyboard_Custom1}, {KeyboardKey.Cancel, LedId.Keyboard_Custom2}, {KeyboardKey.Back, LedId.Keyboard_Backspace}, {KeyboardKey.Tab, LedId.Keyboard_Tab}, {KeyboardKey.LineFeed, LedId.Keyboard_Custom3}, {KeyboardKey.Clear, LedId.Keyboard_Custom4}, {KeyboardKey.Enter, LedId.Keyboard_Enter}, {KeyboardKey.Pause, LedId.Keyboard_PauseBreak}, {KeyboardKey.CapsLock, LedId.Keyboard_CapsLock}, {KeyboardKey.HangulMode, LedId.Keyboard_Custom4}, {KeyboardKey.JunjaMode, LedId.Keyboard_Custom5}, {KeyboardKey.FinalMode, LedId.Keyboard_Custom6}, {KeyboardKey.HanjaMode, LedId.Keyboard_Custom7}, {KeyboardKey.Escape, LedId.Keyboard_Escape}, {KeyboardKey.ImeConvert, LedId.Keyboard_Custom8}, {KeyboardKey.ImeNonConvert, LedId.Keyboard_Custom9}, {KeyboardKey.ImeAccept, LedId.Keyboard_Custom10}, {KeyboardKey.ImeModeChange, LedId.Keyboard_Custom11}, {KeyboardKey.Space, LedId.Keyboard_Space}, {KeyboardKey.PageUp, LedId.Keyboard_PageUp}, {KeyboardKey.PageDown, LedId.Keyboard_PageDown}, {KeyboardKey.End, LedId.Keyboard_End}, {KeyboardKey.Home, LedId.Keyboard_Home}, {KeyboardKey.Left, LedId.Keyboard_ArrowLeft}, {KeyboardKey.Up, LedId.Keyboard_ArrowUp}, {KeyboardKey.Right, LedId.Keyboard_ArrowRight}, {KeyboardKey.Down, LedId.Keyboard_ArrowDown}, {KeyboardKey.Select, LedId.Keyboard_Custom12}, {KeyboardKey.Print, LedId.Keyboard_Custom13}, {KeyboardKey.Execute, LedId.Keyboard_Custom14}, {KeyboardKey.PrintScreen, LedId.Keyboard_PrintScreen}, {KeyboardKey.Insert, LedId.Keyboard_Insert}, {KeyboardKey.Delete, LedId.Keyboard_Delete}, {KeyboardKey.Help, LedId.Keyboard_Custom15}, {KeyboardKey.D0, LedId.Keyboard_0}, {KeyboardKey.D1, LedId.Keyboard_1}, {KeyboardKey.D2, LedId.Keyboard_2}, {KeyboardKey.D3, LedId.Keyboard_3}, {KeyboardKey.D4, LedId.Keyboard_4}, {KeyboardKey.D5, LedId.Keyboard_5}, {KeyboardKey.D6, LedId.Keyboard_6}, {KeyboardKey.D7, LedId.Keyboard_7}, {KeyboardKey.D8, LedId.Keyboard_8}, {KeyboardKey.D9, LedId.Keyboard_9}, {KeyboardKey.A, LedId.Keyboard_A}, {KeyboardKey.B, LedId.Keyboard_B}, {KeyboardKey.C, LedId.Keyboard_C}, {KeyboardKey.D, LedId.Keyboard_D}, {KeyboardKey.E, LedId.Keyboard_E}, {KeyboardKey.F, LedId.Keyboard_F}, {KeyboardKey.G, LedId.Keyboard_G}, {KeyboardKey.H, LedId.Keyboard_H}, {KeyboardKey.I, LedId.Keyboard_I}, {KeyboardKey.J, LedId.Keyboard_J}, {KeyboardKey.K, LedId.Keyboard_K}, {KeyboardKey.L, LedId.Keyboard_L}, {KeyboardKey.M, LedId.Keyboard_M}, {KeyboardKey.N, LedId.Keyboard_N}, {KeyboardKey.O, LedId.Keyboard_O}, {KeyboardKey.P, LedId.Keyboard_P}, {KeyboardKey.Q, LedId.Keyboard_Q}, {KeyboardKey.R, LedId.Keyboard_R}, {KeyboardKey.S, LedId.Keyboard_S}, {KeyboardKey.T, LedId.Keyboard_T}, {KeyboardKey.U, LedId.Keyboard_U}, {KeyboardKey.V, LedId.Keyboard_V}, {KeyboardKey.W, LedId.Keyboard_W}, {KeyboardKey.X, LedId.Keyboard_X}, {KeyboardKey.Y, LedId.Keyboard_Y}, {KeyboardKey.Z, LedId.Keyboard_Z}, {KeyboardKey.LWin, LedId.Keyboard_LeftGui}, {KeyboardKey.RWin, LedId.Keyboard_RightGui}, {KeyboardKey.Apps, LedId.Keyboard_Application}, {KeyboardKey.Sleep, LedId.Keyboard_Custom16}, {KeyboardKey.NumPad0, LedId.Keyboard_Num0}, {KeyboardKey.NumPad1, LedId.Keyboard_Num1}, {KeyboardKey.NumPad2, LedId.Keyboard_Num2}, {KeyboardKey.NumPad3, LedId.Keyboard_Num3}, {KeyboardKey.NumPad4, LedId.Keyboard_Num4}, {KeyboardKey.NumPad5, LedId.Keyboard_Num5}, {KeyboardKey.NumPad6, LedId.Keyboard_Num6}, {KeyboardKey.NumPad7, LedId.Keyboard_Num7}, {KeyboardKey.NumPad8, LedId.Keyboard_Num8}, {KeyboardKey.NumPad9, LedId.Keyboard_Num9}, {KeyboardKey.Multiply, LedId.Keyboard_NumAsterisk}, {KeyboardKey.Add, LedId.Keyboard_NumPlus}, {KeyboardKey.Separator, LedId.Keyboard_NumEnter}, // unverified {KeyboardKey.Subtract, LedId.Keyboard_NumMinus}, {KeyboardKey.Decimal, LedId.Keyboard_NumPeriodAndDelete}, {KeyboardKey.Divide, LedId.Keyboard_NumSlash}, {KeyboardKey.F1, LedId.Keyboard_F1}, {KeyboardKey.F2, LedId.Keyboard_F2}, {KeyboardKey.F3, LedId.Keyboard_F3}, {KeyboardKey.F4, LedId.Keyboard_F4}, {KeyboardKey.F5, LedId.Keyboard_F5}, {KeyboardKey.F6, LedId.Keyboard_F6}, {KeyboardKey.F7, LedId.Keyboard_F7}, {KeyboardKey.F8, LedId.Keyboard_F8}, {KeyboardKey.F9, LedId.Keyboard_F9}, {KeyboardKey.F10, LedId.Keyboard_F10}, {KeyboardKey.F11, LedId.Keyboard_F11}, {KeyboardKey.F12, LedId.Keyboard_F12}, {KeyboardKey.F13, LedId.Keyboard_Custom17}, {KeyboardKey.F14, LedId.Keyboard_Custom18}, {KeyboardKey.F15, LedId.Keyboard_Custom19}, {KeyboardKey.F16, LedId.Keyboard_Custom20}, {KeyboardKey.F17, LedId.Keyboard_Custom21}, {KeyboardKey.F18, LedId.Keyboard_Custom22}, {KeyboardKey.F19, LedId.Keyboard_Custom23}, {KeyboardKey.F20, LedId.Keyboard_Custom24}, {KeyboardKey.F21, LedId.Keyboard_Custom25}, {KeyboardKey.F22, LedId.Keyboard_Custom26}, {KeyboardKey.F23, LedId.Keyboard_Custom27}, {KeyboardKey.F24, LedId.Keyboard_Custom28}, {KeyboardKey.NumLock, LedId.Keyboard_NumLock}, {KeyboardKey.Scroll, LedId.Keyboard_ScrollLock}, {KeyboardKey.LeftShift, LedId.Keyboard_LeftShift}, {KeyboardKey.RightShift, LedId.Keyboard_RightShift}, {KeyboardKey.LeftCtrl, LedId.Keyboard_LeftCtrl}, {KeyboardKey.RightCtrl, LedId.Keyboard_RightCtrl}, {KeyboardKey.LeftAlt, LedId.Keyboard_LeftAlt}, {KeyboardKey.RightAlt, LedId.Keyboard_RightAlt}, {KeyboardKey.BrowserBack, LedId.Keyboard_Custom29}, {KeyboardKey.BrowserForward, LedId.Keyboard_Custom30}, {KeyboardKey.BrowserRefresh, LedId.Keyboard_Custom31}, {KeyboardKey.BrowserStop, LedId.Keyboard_Custom32}, {KeyboardKey.BrowserSearch, LedId.Keyboard_Custom33}, {KeyboardKey.BrowserFavorites, LedId.Keyboard_Custom34}, {KeyboardKey.BrowserHome, LedId.Keyboard_Custom35}, {KeyboardKey.VolumeMute, LedId.Keyboard_MediaMute}, {KeyboardKey.VolumeDown, LedId.Keyboard_MediaVolumeDown}, {KeyboardKey.VolumeUp, LedId.Keyboard_MediaVolumeUp}, {KeyboardKey.MediaNextTrack, LedId.Keyboard_MediaNextTrack}, {KeyboardKey.MediaPreviousTrack, LedId.Keyboard_MediaPreviousTrack}, {KeyboardKey.MediaStop, LedId.Keyboard_MediaStop}, {KeyboardKey.MediaPlayPause, LedId.Keyboard_MediaPlay}, {KeyboardKey.LaunchMail, LedId.Keyboard_Custom36}, {KeyboardKey.SelectMedia, LedId.Keyboard_Custom37}, {KeyboardKey.LaunchApplication1, LedId.Keyboard_Custom38}, {KeyboardKey.LaunchApplication2, LedId.Keyboard_Custom39}, {KeyboardKey.OemSemicolon, LedId.Keyboard_SemicolonAndColon}, {KeyboardKey.OemPlus, LedId.Keyboard_EqualsAndPlus}, {KeyboardKey.OemMinus, LedId.Keyboard_MinusAndUnderscore}, {KeyboardKey.OemComma, LedId.Keyboard_CommaAndLessThan}, {KeyboardKey.OemPeriod, LedId.Keyboard_PeriodAndBiggerThan}, {KeyboardKey.OemQuestion, LedId.Keyboard_SlashAndQuestionMark}, {KeyboardKey.OemTilde, LedId.Keyboard_GraveAccentAndTilde}, {KeyboardKey.AbntC1, LedId.Keyboard_Custom40}, {KeyboardKey.AbntC2, LedId.Keyboard_Custom41}, {KeyboardKey.OemOpenBrackets, LedId.Keyboard_BracketLeft}, {KeyboardKey.OemPipe, LedId.Keyboard_Backslash}, {KeyboardKey.OemCloseBrackets, LedId.Keyboard_BracketRight}, {KeyboardKey.OemQuotes, LedId.Keyboard_ApostropheAndDoubleQuote}, {KeyboardKey.OemBackslash, LedId.Keyboard_Custom42}, // unverified {KeyboardKey.ImeProcessed, LedId.Keyboard_Custom43}, {KeyboardKey.System, LedId.Keyboard_Custom44}, {KeyboardKey.OemAttn, LedId.Keyboard_Custom45}, {KeyboardKey.OemFinish, LedId.Keyboard_Custom46}, {KeyboardKey.OemCopy, LedId.Keyboard_Custom47}, {KeyboardKey.OemAuto, LedId.Keyboard_Custom48}, {KeyboardKey.OemEnlw, LedId.Keyboard_Custom49}, {KeyboardKey.OemBackTab, LedId.Keyboard_Custom50}, {KeyboardKey.Attn, LedId.Keyboard_Custom51}, {KeyboardKey.CrSel, LedId.Keyboard_Custom52}, {KeyboardKey.ExSel, LedId.Keyboard_Custom53}, {KeyboardKey.EraseEof, LedId.Keyboard_Custom54}, {KeyboardKey.Play, LedId.Keyboard_MediaPlay}, {KeyboardKey.Zoom, LedId.Keyboard_Custom55}, {KeyboardKey.NoName, LedId.Keyboard_Custom56}, {KeyboardKey.Pa1, LedId.Keyboard_Custom57}, {KeyboardKey.OemClear, LedId.Keyboard_Custom58}, {KeyboardKey.DeadCharProcessed, LedId.Keyboard_Custom59}, {KeyboardKey.NumPadEnter, LedId.Keyboard_NumEnter} }; /// /// A dictionary of mappings between and /// public static readonly Dictionary MouseButtonLedIdMap = new() { {MouseButton.Left, LedId.Mouse1}, {MouseButton.Middle, LedId.Mouse2}, {MouseButton.Right, LedId.Mouse3}, {MouseButton.Button4, LedId.Mouse4}, {MouseButton.Button5, LedId.Mouse5} }; } }