Illumilib/Demo/Program.cs

69 lines
3 KiB
C#
Raw Normal View History

2021-05-01 20:49:58 +02:00
using System;
using System.Threading;
using Illumilib;
namespace Demo {
internal static class Program {
2021-05-02 19:34:21 +02:00
private static void Main(string[] args) {
IllumilibLighting.Initialize();
2021-05-01 20:49:58 +02:00
foreach (var type in Enum.GetValues<LightingType>()) {
if (IllumilibLighting.IsEnabled(type))
Console.WriteLine($"{type} lighting is enabled");
}
2021-05-03 00:53:54 +02:00
Console.WriteLine("Setting all lights to blue");
IllumilibLighting.SetAllLighting(r: 0, g: 0, b: 1);
Thread.Sleep(TimeSpan.FromSeconds(3));
IllumilibLighting.SetAllLighting(r: 0, g: 0, b: 0);
Console.WriteLine("Setting specific positions");
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(x: 6, y: 1, r: 1, g: 0, b: 1);
IllumilibLighting.SetKeyboardLighting(x: 16, y: 5, r: 1, g: 0, b: 1);
Thread.Sleep(TimeSpan.FromSeconds(5));
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(r: 0, g: 0, b: 0);
IllumilibLighting.SetKeyboardLighting(x: 8, y: 2, width: 2, height: 2, r: 0, g: 1, b: 0);
Thread.Sleep(TimeSpan.FromSeconds(5));
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(r: 0, g: 0, b: 0);
2021-05-01 20:49:58 +02:00
Console.WriteLine("Doing a fun effect");
for (var x = 0; x < IllumilibLighting.KeyboardWidth; x++) {
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(x: x, y: 0, width: 1, height: IllumilibLighting.KeyboardHeight, r: 0, g: 0, b: 1);
Thread.Sleep(TimeSpan.FromSeconds(0.25F));
}
for (var x = IllumilibLighting.KeyboardWidth - 1; x >= 0; x--) {
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(x: x, y: 0, width: 1, height: IllumilibLighting.KeyboardHeight, r: 0, g: 0, b: 0);
Thread.Sleep(TimeSpan.FromSeconds(0.25F));
}
2021-05-01 20:49:58 +02:00
Console.WriteLine("Going through the alphabet");
for (var i = 65; i <= 90; i++) {
var key = (KeyboardKeys) i;
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(key: key, r: 0, g: 1, b: 0);
2021-05-01 20:49:58 +02:00
Thread.Sleep(TimeSpan.FromSeconds(0.25F));
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(key: key, r: 0, g: 0, b: 0);
2021-05-01 20:49:58 +02:00
}
Thread.Sleep(TimeSpan.FromSeconds(1));
Console.WriteLine("Pulsing");
for (var i = 0; i < 500; i++) {
var value = (MathF.Sin(i / 50F * MathF.PI) + 1) / 2;
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetAllLighting(r: value, g: 0, b: value);
2021-05-01 20:49:58 +02:00
Thread.Sleep(10);
}
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetAllLighting(r: 0, g: 0, b: 0);
2021-05-01 20:49:58 +02:00
Console.WriteLine("Setting all supported keys");
foreach (var key in Enum.GetValues<KeyboardKeys>()) {
2021-05-03 00:53:54 +02:00
IllumilibLighting.SetKeyboardLighting(key: key, r: 1, g: 0, b: 0);
2021-05-01 20:49:58 +02:00
Thread.Sleep(50);
}
Thread.Sleep(TimeSpan.FromSeconds(15));
Console.WriteLine("Done");
IllumilibLighting.Dispose();
}
}
}