From 0af87ecdac8063d142fb4e6b8ef86e4ec7f97e40 Mon Sep 17 00:00:00 2001 From: IceStormNG Date: Sun, 30 Jul 2023 10:50:09 +0200 Subject: [PATCH] Variable DPI Increment as some mice do not use 50 per step but 100. --- app/AsusMouseSettings.cs | 2 ++ app/Peripherals/Mouse/AsusMouse.cs | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/AsusMouseSettings.cs b/app/AsusMouseSettings.cs index 9e0fe6b9..ac5b2a4a 100644 --- a/app/AsusMouseSettings.cs +++ b/app/AsusMouseSettings.cs @@ -376,9 +376,11 @@ namespace GHelper sliderDPI.Max = mouse.MaxDPI(); sliderDPI.Min = mouse.MinDPI(); + sliderDPI.Step = mouse.DPIIncrements(); numericUpDownCurrentDPI.Minimum = mouse.MinDPI(); numericUpDownCurrentDPI.Maximum = mouse.MaxDPI(); + numericUpDownCurrentDPI.Increment = mouse.DPIIncrements(); if (!mouse.HasDPIColors()) diff --git a/app/Peripherals/Mouse/AsusMouse.cs b/app/Peripherals/Mouse/AsusMouse.cs index 9df3ae44..a678bb3b 100644 --- a/app/Peripherals/Mouse/AsusMouse.cs +++ b/app/Peripherals/Mouse/AsusMouse.cs @@ -700,6 +700,11 @@ namespace GHelper.Peripherals.Mouse return false; } + public virtual int DPIIncrements() + { + return 50; + } + public virtual bool CanChangeDPIProfile() { return DPIProfileCount() > 1; @@ -763,7 +768,7 @@ namespace GHelper.Peripherals.Mouse { return null; } - ushort dpiEncoded = (ushort)((dpi.DPI - 50) / 50); + ushort dpiEncoded = (ushort)((dpi.DPI - DPIIncrements()) / DPIIncrements()); if (HasDPIColors()) {