Exemplo n.º 1
0
        public DriverDaemon()
        {
            Log.Output += (sender, message) =>
            {
                LogMessages.Add(message);
                Console.WriteLine(Log.GetStringFormat(message));
                Message?.Invoke(sender, message);
            };
            Driver.TabletChanged += (sender, tablet) =>
            {
                TabletChanged?.Invoke(sender, tablet);
                if (debugging)
                {
                    if (Driver.TabletReader != null)
                    {
                        Driver.TabletReader.RawClone   = true;
                        Driver.TabletReader.RawReport += DebugReportHandler;
                    }
                    if (Driver.AuxReader != null)
                    {
                        Driver.AuxReader.RawClone   = true;
                        Driver.AuxReader.RawReport += DebugReportHandler;
                    }
                }
            };
            Driver.DevicesChanged += async(sender, args) =>
            {
                if (await GetTablet() == null && args.Additions.Count() > 0)
                {
                    await DetectTablets();
                }
            };

            LoadUserSettings();
        }
Exemplo n.º 2
0
        public Task <bool> SetTablet(TabletProperties tablet)
        {
            var match = Driver.TryMatch(tablet);

            TabletChanged?.Invoke(this, match ? tablet : null);
            return(Task.FromResult(match));
        }
        public DriverDaemon()
        {
            Log.Output += (sender, message) =>
            {
                LogMessages.Add(message);
                Console.WriteLine(Log.GetStringFormat(message));
                Message?.Invoke(sender, message);
            };
            Driver.Reading += async(_, isReading) => TabletChanged?.Invoke(this, isReading ? await GetTablet() : null);

            LoadUserSettings();

            HidSharp.DeviceList.Local.Changed += async(sender, e) =>
            {
                var newDevices = from device in DeviceList.Local.GetHidDevices()
                                 where !CurrentDevices.Any(d => d == device)
                                 select device;

                if (newDevices.Count() > 0)
                {
                    if (await GetTablet() == null)
                    {
                        await DetectTablets();
                    }
                }
                CurrentDevices = DeviceList.Local.GetHidDevices();
            };
        }
Exemplo n.º 4
0
        public async Task <bool> SetTablet(TabletConfiguration tablet)
        {
            var match = Driver.TryMatch(tablet);

            TabletChanged?.Invoke(this, match ? await GetTablet() : null);
            return(match);
        }
Exemplo n.º 5
0
        public DriverDaemon()
        {
            Log.Output += (sender, message) =>
            {
                LogMessages.Add(message);
                Console.WriteLine(Log.GetStringFormat(message));
                Message?.Invoke(sender, message);
            };
            Driver.TabletChanged  += (sender, tablet) => TabletChanged?.Invoke(sender, tablet);
            Driver.DevicesChanged += async(sender, args) =>
            {
                if (await GetTablet() == null && args.Additions.Count() > 0)
                {
                    await DetectTablets();
                }
            };

            LoadUserSettings();
        }