public SystemTrayViewModel() { ActiveIcon = "Resources/octopode_icon.ico"; device = new KrakenDevice(DeviceEnumerator.EnumerateKrakenX62Devices().First()); Task.Run(() => RefreshControllerState()); device.StartReading(); var key = Registry.CurrentUser.OpenSubKey("Software", true); if (key == null) { Console.Error.WriteLine("Could not open Registry Key"); return; } appKey = key.OpenSubKey("Octopode", true); if (appKey == null) { appKey = key.CreateSubKey("Octopode", true, RegistryOptions.None); } LoadProfile(); logoManager = new LightningManager(LightChannel.Logo); rimManager = new LightningManager(LightChannel.Rim); logoManager.OnNewLightSetting += LightingManagerCallback; rimManager.OnNewLightSetting += LightingManagerCallback; commander = new CommandController(device.usbDevice); }
static void Main(string[] args) { var devices = new List <HidDevice>(DeviceEnumerator.EnumerateKrakenX62Devices()); var tasks = new List <Task>(); var deviceList = new List <HidDevice>(DeviceEnumerator.EnumerateKrakenX62Devices()); if (deviceList.Count < 1) { Console.WriteLine("No Kraken X62 device found!"); return; } var device = new KrakenDevice(deviceList[0]); var messages = KrakenDevice.GenerateCoolingMessage(false, true, 25, 25, 25, 25, 25, 25, 25, 25, 35, 45, 55, 75, 100, 100, 100, 100, 100, 100, 100, 100, 100); var stopwatch = new Stopwatch(); stopwatch.Start(); foreach (var message in messages) { device.Write(message); } stopwatch.Start(); Console.WriteLine($"Time taken: {stopwatch.ElapsedMilliseconds}ms - Avg: {stopwatch.ElapsedMilliseconds / (float) messages.Length}ms"); }