From 7bb6aa04608e6fb5f32969763f4585376a17a3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 28 Nov 2022 10:44:01 +0100 Subject: [PATCH] Improve implementation of `MouseController` --- SteamController/Devices/MouseController.cs | 45 +++++++++++----------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/SteamController/Devices/MouseController.cs b/SteamController/Devices/MouseController.cs index 283de68..0f46ddb 100644 --- a/SteamController/Devices/MouseController.cs +++ b/SteamController/Devices/MouseController.cs @@ -108,16 +108,14 @@ namespace SteamController.Devices private void UpdateValid() { - Safe(() => + if (valid is null || lastValid.AddMilliseconds(UpdateValidInterval) < DateTime.Now) { - if (valid is null || lastValid.AddMilliseconds(UpdateValidInterval) < DateTime.Now) + Safe(() => { simulator.Mouse.MoveMouseBy(0, 0); return true; - } - - return false; - }); + }); + } } internal void BeforeUpdate() @@ -201,40 +199,43 @@ namespace SteamController.Devices // Move cursor if (movedX.Used || movedY.Used) { - Safe(() => + int x = movedX.Consume(); + int y = movedY.Consume(); + if (x != 0 || y != 0) { - simulator.Mouse.MoveMouseBy(movedX.Consume(), movedY.Consume()); - return true; - }); + Safe(() => + { + simulator.Mouse.MoveMouseBy(x, y); + return true; + }); + } } // Scroll if (verticalScroll.Used) { - Safe(() => + int value = verticalScroll.Consume(); + if (value != 0) { - int value = verticalScroll.Consume(); - if (value != 0) + Safe(() => { simulator.Mouse.VerticalScroll(value); return true; - } - return false; - }); + }); + } } if (horizontalScroll.Used) { - Safe(() => + int value = horizontalScroll.Consume(); + if (value != 0) { - int value = horizontalScroll.Consume(); - if (value != 0) + Safe(() => { simulator.Mouse.HorizontalScroll(value); return true; - } - return false; - }); + }); + } } UpdateValid();