Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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());
 }