Ejemplo n.º 1
0
        protected void ApplyColorToBinding(KeyboardCustom grid, string bindingName, Color color)
        {
            if (!Game.BindingPreset.Bindings.TryGetValue(bindingName, out var binding))
            {
                return;
            }

            foreach (var bps in new[] { binding.Primary, binding.Secondary })
            {
                if (bps.Device != Device.Keyboard)
                {
                    continue;
                }

                if (!KeyMappings.TryGetKey(bps.Key, Game.BindingPreset.KeyboardLayout, out var key, NativeMethods))
                {
                    continue;
                }

                if (key == 0)
                {
                    continue;
                }

                if (!bps.Modifiers.Equals(Game.PressedModifiers))
                {
                    continue;
                }

                grid[key] = color;

                color = color.Transform(Colors.SecondaryBindingBrightness);
            }
        }
Ejemplo n.º 2
0
        private static Key GetKey(BindingPreset binds, string binding)
        {
            var bps = binds.Bindings[binding].Primary;

            return(KeyMappings.TryGetKey(bps.Key, "en-US", false, out var key, new NativeMethodsStub()) ? key : 0);
        }