mirror of https://github.com/encounter/SDL.git
Fixed relative mouse motion over remote desktop
Setting the cursor clip area to a single pixel prevents the relative mouse motion remote desktop warping from working, so the mouse is never recentered. (cherry picked from commit daffe02b117ccd484763eadc716e4d4453c89868) (cherry picked from commit ad09976eca7c931ef468119b4a4716ec7e07560e)
This commit is contained in:
parent
dc34e96fff
commit
fa9f7c70c5
|
@ -1325,14 +1325,16 @@ WIN_UpdateClipCursor(SDL_Window *window)
|
|||
(window->flags & SDL_WINDOW_INPUT_FOCUS)) {
|
||||
if (mouse->relative_mode && !mouse->relative_mode_warp && data->mouse_relative_mode_center) {
|
||||
if (GetWindowRect(data->hwnd, &rect)) {
|
||||
/* WIN_WarpCursor() jitters by +1, and remote desktop warp wobble is +/- 1 */
|
||||
LONG remote_desktop_adjustment = GetSystemMetrics(SM_REMOTESESSION) ? 2 : 0;
|
||||
LONG cx, cy;
|
||||
|
||||
cx = (rect.left + rect.right) / 2;
|
||||
cy = (rect.top + rect.bottom) / 2;
|
||||
|
||||
/* Make an absurdly small clip rect */
|
||||
rect.left = cx;
|
||||
rect.right = cx + 1;
|
||||
rect.left = cx - remote_desktop_adjustment;
|
||||
rect.right = cx + 1 + remote_desktop_adjustment;
|
||||
rect.top = cy;
|
||||
rect.bottom = cy + 1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue