public DriverDaemon() { Log.Output += (sender, message) => { LogMessages.Add(message); Console.WriteLine(Log.GetStringFormat(message)); Message?.Invoke(sender, message); }; Driver.TabletsChanged += (sender, e) => TabletsChanged?.Invoke(sender, e); HidSharpDeviceRootHub.Current.DevicesChanged += async(sender, args) => { if (args.Additions.Any()) { await DetectTablets(); await SetSettings(Settings); } }; foreach (var driverInfo in DriverInfo.GetDriverInfos()) { Log.Write("Detect", $"Another tablet driver found: {driverInfo.Name}", LogLevel.Warning); if (driverInfo.IsBlockingDriver) { Log.Write("Detect", $"Detection for {driverInfo.Name} tablets might be impaired", LogLevel.Warning); } else if (driverInfo.IsSendingInput) { Log.Write("Detect", $"Detected input coming from {driverInfo.Name} driver", LogLevel.Error); } } LoadUserSettings(); }
public DriverDaemon(Driver driver) { Driver = driver; Log.Output += (sender, message) => { LogMessages.Add(message); Console.WriteLine(Log.GetStringFormat(message)); Message?.Invoke(sender, message); }; Driver.TabletsChanged += (sender, e) => TabletsChanged?.Invoke(sender, e); Driver.CompositeDeviceHub.DevicesChanged += async(sender, args) => { if (args.Additions.Any()) { await DetectTablets(); await SetSettings(Settings); } }; foreach (var driverInfo in DriverInfo.GetDriverInfos()) { Log.Write("Detect", $"Another tablet driver found: {driverInfo.Name}", LogLevel.Warning); if (driverInfo.IsBlockingDriver) { Log.Write("Detect", $"Detection for {driverInfo.Name} tablets might be impaired", LogLevel.Warning); } else if (driverInfo.IsSendingInput) { Log.Write("Detect", $"Detected input coming from {driverInfo.Name} driver", LogLevel.Error); } } LoadUserSettings(); #if !DEBUG SleepDetection = new(async() => { Log.Write(nameof(SleepDetectionThread), "Sleep detected...", LogLevel.Info); await DetectTablets(); await SetSettings(Settings); }); SleepDetection.Start(); #endif }
public DriverInfo[] GetDriverInfos() { return(DriverInfo.GetDriverInfos().ToArray()); }