Beispiel #1
0
        public override bool UpdateDevice(Dictionary <DeviceKeys, System.Drawing.Color> keyColors, DoWorkEventArgs e, bool forced = false)
        {
            if (!IsInitialized)
            {
                return(false);
            }

            if (keyColors.TryGetValue(DeviceKeys.Peripheral_Logo, out var clr))
            {
                keyboard.Set(ToColore(clr));
                mousepad.Set(ToColore(clr));
                mouse.Set(ToColore(clr));
                headset = ToColore(clr);
                chromalink.Set(ToColore(clr));
                keypad.Set(ToColore(clr));
            }

            foreach (var key in keyColors)
            {
                if (RazerMappings.keyboardDictionary.TryGetValue(key.Key, out var kbIndex))
                {
                    keyboard[kbIndex] = ToColore(key.Value);
                }

                if (RazerMappings.mousepadDictionary.TryGetValue(key.Key, out var mousepadIndex))
                {
                    mousepad[mousepadIndex] = ToColore(key.Value);
                }

                if (RazerMappings.mouseDictionary.TryGetValue(key.Key, out var mouseIndex))
                {
                    mouse[mouseIndex] = ToColore(key.Value);
                }
            }

            if (!Global.Configuration.DevicesDisableKeyboard)
            {
                Chroma.Instance.Keyboard.SetCustom(keyboard);
            }
            if (!Global.Configuration.DevicesDisableMouse)
            {
                Chroma.Instance.Mousepad.SetCustom(mousepad);
            }
            if (!Global.Configuration.DevicesDisableMouse)
            {
                Chroma.Instance.Mouse.SetGrid(mouse);
            }
            if (!Global.Configuration.DevicesDisableHeadset)
            {
                Chroma.Instance.Headset.SetAll(headset);
            }

            Chroma.Instance.Keypad.SetCustom(keypad);
            Chroma.Instance.ChromaLink.SetCustom(chromalink);

            return(true);
        }