From 3d4dea624da2cac015b9d86eb8c2360ab7e8df58 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 28 Apr 2024 17:55:37 +0100 Subject: [PATCH] HID: Correct direct mouse deltas (#6736) The delta position of the mouse should be the difference between the current and last position. Subtracting the last deltas doesn't really make sense. Won't implement pointer lock for first person games, but might stop some super weird behaviour with the mouse values appearing totally random. --- src/Ryujinx.HLE/HOS/Services/Hid/HidDevices/MouseDevice.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Ryujinx.HLE/HOS/Services/Hid/HidDevices/MouseDevice.cs b/src/Ryujinx.HLE/HOS/Services/Hid/HidDevices/MouseDevice.cs index b2dd3fea..2e62d206 100644 --- a/src/Ryujinx.HLE/HOS/Services/Hid/HidDevices/MouseDevice.cs +++ b/src/Ryujinx.HLE/HOS/Services/Hid/HidDevices/MouseDevice.cs @@ -23,8 +23,8 @@ namespace Ryujinx.HLE.HOS.Services.Hid newState.Buttons = (MouseButton)buttons; newState.X = mouseX; newState.Y = mouseY; - newState.DeltaX = mouseX - previousEntry.DeltaX; - newState.DeltaY = mouseY - previousEntry.DeltaY; + newState.DeltaX = mouseX - previousEntry.X; + newState.DeltaY = mouseY - previousEntry.Y; newState.WheelDeltaX = scrollX; newState.WheelDeltaY = scrollY; newState.Attributes = connected ? MouseAttribute.IsConnected : MouseAttribute.None;