Skip to content

Commit 5cf4c8f

Browse files
Refactor moveMouse to use SendInput for absolute position movements on windows
1 parent 6aadc5a commit 5cf4c8f

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/win32/mouse.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,15 @@ int CalculateAbsoluteCoordinateY(int y)
3838
*/
3939
void moveMouse(MMPoint point)
4040
{
41-
SetCursorPos ((int)point.x, (int)point.y);
41+
INPUT mouseInput;
42+
mouseInput.type = INPUT_MOUSE;
43+
mouseInput.mi.dx = CalculateAbsoluteCoordinateX(point.x);
44+
mouseInput.mi.dy = CalculateAbsoluteCoordinateY(point.y);
45+
mouseInput.mi.mouseData = 0;
46+
mouseInput.mi.time = 0;
47+
mouseInput.mi.dwFlags = MouseEventFlags.MOUSEEVENTF_MOVE | MouseEventFlags.MOUSEEVENTF_ABSOLUTE;
48+
mouseInput.mi.dwExtraInfo = 0;
49+
SendInput(1, &mouseInput, sizeof(mouseInput));
4250
}
4351

4452
void dragMouse(MMPoint point, const MMMouseButton button)

0 commit comments

Comments
 (0)