Artemis.DeviceProviders.Corsair.CorsairKeyboards.GetKeyPosition C# (CSharp) Method

GetKeyPosition() public method

public GetKeyPosition ( Keys keyCode ) : KeyMatch?
keyCode Keys
return KeyMatch?
        public override KeyMatch? GetKeyPosition(Keys keyCode)
        {
            var widthMultiplier = Width/_keyboard.Brush.RenderedRectangle.Width;
            var heightMultiplier = Height/_keyboard.Brush.RenderedRectangle.Height;

            CorsairLed cueLed = null;
            try
            {
                cueLed = _keyboard.Leds.FirstOrDefault(k => k.Id.ToString() == keyCode.ToString()) ??
                         _keyboard.Leds.FirstOrDefault(k => k.Id == KeyMap.FormsKeys[keyCode]);
            }
            catch (Exception)
            {
                // ignored
            }

            if (cueLed != null)
                return new KeyMatch(keyCode, (int) (cueLed.LedRectangle.X*widthMultiplier),
                    (int) (cueLed.LedRectangle.Y*heightMultiplier));

            return null;
        }
    }