Browse Source

wayland: Send fake warp coordinates when emulating warps with relative mode

Send the fake warp coordinates when emulating warps with relative mode to ensure that it appears that the cursor is always reset to where the application expects it to be.

Fixes cases where games can continue moving the camera if the mouse is lifted during motion.

(cherry picked from commit 8fcbf972c6960fb8882adfb4244e598cffacad6f)
Frank Praznik 8 months ago
parent
commit
f79d28085d
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/video/wayland/SDL_waylandmouse.c

+ 1 - 0
src/video/wayland/SDL_waylandmouse.c

@@ -595,6 +595,7 @@ static void Wayland_WarpMouse(SDL_Window *window, int x, int y)
             Wayland_input_lock_pointer(input);
             input->relative_mode_override = SDL_TRUE;
         }
+        SDL_SendMouseMotion(window, 0, 0, x, y);
     }
 }