From 60296608605ec35c9f9756b3f4185ec7f8b2583b Mon Sep 17 00:00:00 2001 From: Serge <5920850+seerge@users.noreply.github.com> Date: Fri, 28 Jul 2023 00:06:01 +0200 Subject: [PATCH] Added timer to prevent checking for Mice multiple times in a row --- app/Peripherals/PeripheralsProvider.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Peripherals/PeripheralsProvider.cs b/app/Peripherals/PeripheralsProvider.cs index 23b91e16..2a6a4ca4 100644 --- a/app/Peripherals/PeripheralsProvider.cs +++ b/app/Peripherals/PeripheralsProvider.cs @@ -12,6 +12,14 @@ namespace GHelper.Peripherals public static event EventHandler? DeviceChanged; + private static System.Timers.Timer timer = new System.Timers.Timer(1000); + + static PeripheralsProvider() + { + timer.Elapsed += DeviceTimer_Elapsed; + } + + public static bool IsMouseConnected() { lock (_LOCK) @@ -191,8 +199,14 @@ namespace GHelper.Peripherals private static void Device_Changed(object? sender, HidSharp.DeviceListChangedEventArgs e) { + timer.Start(); + } + + private static void DeviceTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e) + { + timer.Stop(); Logger.WriteLine("HID Device Event: Checking for new ASUS Mice"); - Task task = Task.Run((Action)DetectAllAsusMice); + DetectAllAsusMice(); } } }