private static async Task LightAsync(KeyboardNames key, LightDirection direction, int steps, int stepDelay = 50) { int value = 0; for (int i = 0; i < steps; i++) { int step = direction == LightDirection.Up ? i : steps - i; value = (int)((double)step / steps * 100); LogitechGSDK.LogiLedSetLightingForKeyWithKeyName(key, value, 0, 0); await Task.Delay(stepDelay, cancellationToken); } int?last = null; if (direction == LightDirection.Up) { if (value != 100) { last = 100; } } else { if (value != 0) { last = 0; } } if (last != null) { LogitechGSDK.LogiLedSetLightingForKeyWithKeyName(key, last.Value, 0, 0); } }
private void SetLogitechColorFromCoordinates(Bitmap bitmap, KeyboardNames key, int x, int y) { var color = bitmap.GetPixel(x, y); var rPer = (int)Math.Round(color.R / 2.55); var gPer = (int)Math.Round(color.G / 2.55); var bPer = (int)Math.Round(color.B / 2.55); LogitechGSDK.LogiLedSetLightingForKeyWithKeyName(key, rPer, gPer, bPer); }
private void SetLogitechColorFromCoordinates(Bitmap bitmap, KeyboardNames key, int x, int y) { var color = bitmap.GetPixel(x, y); var rPer = (int) Math.Round(color.R/2.55); var gPer = (int) Math.Round(color.G/2.55); var bPer = (int) Math.Round(color.B/2.55); LogitechGSDK.LogiLedSetLightingForKeyWithKeyName(key, rPer, gPer, bPer); }
public static extern bool LogiLedStopEffectsOnKey(KeyboardNames keyName);
public static extern bool LogiLedPulseSingleKey(KeyboardNames keyName, int startRedPercentage, int startGreenPercentage, int startBluePercentage, int finishRedPercentage, int finishGreenPercentage, int finishBluePercentage, int msDuration, bool isInfinite);
public static extern bool LogiLedFlashSingleKey(KeyboardNames keyName, int redPercentage, int greenPercentage, int bluePercentage, int msDuration, int msInterval);
public static extern bool LogiLedRestoreLightingForKey(KeyboardNames keyName);
public static extern bool LogiLedSetLightingForKeyWithKeyName(KeyboardNames keyCode, int redPercentage, int greenPercentage, int bluePercentage);
public static extern bool LogiLedStopEffectsOnKey(KeyboardNames keyName);
public static extern bool LogiLedSetLightingForKeyWithKeyName(KeyboardNames keyCode, int redPercentage, int greenPercentage, int bluePercentage);
public static extern bool LogiLedSaveLightingForKey(KeyboardNames keyName);
public static extern bool LogiLedPulseSingleKey(KeyboardNames keyName, int startRedPercentage, int startGreenPercentage, int startBluePercentage, int finishRedPercentage, int finishGreenPercentage, int finishBluePercentage, int msDuration, bool isInfinite);
public static extern bool LogiLedFlashSingleKey(KeyboardNames keyName, int redPercentage, int greenPercentage, int bluePercentage, int msDuration, int msInterval);
public static extern bool LogiLedExcludeKeysFromBitmap(KeyboardNames[] keyList, int listCount);
public PressedKey(KeyboardNames name) { Name = name; }