From 11de8f49ff1c82823e847e813e25ebc45e86e7d0 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 6 Nov 2022 21:23:36 -0600 Subject: [PATCH] Fix mouse position glitches near the edges in absolute mode --- input.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/input.cpp b/input.cpp index 981f217..0db7f60 100644 --- a/input.cpp +++ b/input.cpp @@ -148,7 +148,10 @@ void MoonlightInstance::ReportMouseMovement() { LiSendMouseMoveEvent(m_MouseDeltaX, m_MouseDeltaY); m_MouseDeltaX = m_MouseDeltaY = 0; } else if (m_MousePositionX != 0 || m_MousePositionY != 0) { - LiSendMousePositionEvent(m_MousePositionX, m_MousePositionY, m_PluginRect.width(), m_PluginRect.height()); + // Clamp the input coordinates to the plugin area + short x = MIN(MAX(m_MousePositionX, 0), m_PluginRect.width()); + short y = MIN(MAX(m_MousePositionY, 0), m_PluginRect.height()); + LiSendMousePositionEvent(x, y, m_PluginRect.width(), m_PluginRect.height()); m_MousePositionX = 0; m_MousePositionY = 0; }