Esempio n. 1
0
 static void PushToTalkWithLeftControlKey()
 {
     using (var teams = new Teams())
         using (var monitor = new HumanInterfaceDeviceMonitor())
         {
             using (monitor.KeyDown.Subscribe(kea =>
             {
                 if (kea.KeyCode == System.Windows.Forms.Keys.LControlKey)
                 {
                     monitor.Disable = true;
                     teams.Unmute();
                     monitor.Disable = false;
                 }
             }))
                 using (monitor.KeyUp.Subscribe(kea =>
                 {
                     if (kea.KeyCode == System.Windows.Forms.Keys.LControlKey)
                     {
                         monitor.Disable = true;
                         teams.Mute();
                         monitor.Disable = false;
                     }
                 }))
                 {
                     Console.ReadLine();
                 }
         }
 }
 public void Capture()
 {
     using (var ih = new HumanInterfaceDeviceMonitor())
     {
         using (ih.Mouse.Subscribe(_ => log.InfoFormat("{0} {1}", _.Location, _.Clicks)))
         {
             ih.KeyDown.TakeWhile(_ => _.KeyCode != Keys.Escape).Wait();
         }
     }
 }
Esempio n. 3
0
        public void TestAggregate()
        {
            var a = new ProgramUseAggregator();

            Observable.Interval(TimeSpan.FromMilliseconds(25)).Select(_ => new KeyEventArgs(Keys.A)).Subscribe(a.KeyDown);

            using (new WinEventHook().ForegroundWindowChanged.Subscribe(a.Window))
                using (var intercept = new HumanInterfaceDeviceMonitor())
                {
                    intercept.Mouse.Subscribe(a.Mouse);
                    intercept.KeyDown.Subscribe(a.KeyDown);
                    a.ProgramUse.Subscribe(_ => log.Info(_.Details()));
                    ObservableTimeInterval.GetSeconds().Take(10).Wait();
                }
        }
Esempio n. 4
0
        public void TestAggregate()
        {
            var a = new InputAggregator();

            using (var hidMonitor = new HumanInterfaceDeviceMonitor())
                using (new System.Reactive.Disposables.CompositeDisposable(
                           ObservableTimeInterval.GetSeconds().Take(10).Subscribe(a.Time),
                           hidMonitor.Mouse.Subscribe(a.Mouse),
                           hidMonitor.KeyDown.Subscribe(a.KeyDown),
                           hidMonitor.Mouse.ToDistance().Subscribe(_ => log.Info(_)),
                           a.Input.Subscribe(_ => log.Info(_.MouseMove))
                           ))
                {
                    a.Input.Wait();
                }
        }
Esempio n. 5
0
 static void PushToTalkWithMiddleMouseButton()
 {
     using (var teams = new Teams())
         using (var monitor = new HumanInterfaceDeviceMonitor())
         {
             using (monitor.Mouse.Subscribe(me =>
             {
                 if (me.Button == System.Windows.Forms.MouseButtons.Middle)
                 {
                     if (me.Clicks > 0)
                     {
                         teams.Unmute();
                     }
                     else if (me.Clicks < 0)
                     {
                         teams.Mute();
                     }
                 }
             }))
             {
                 Console.ReadLine();
             }
         }
 }