-{
- mouse_event(MOUSEEVENTF_MOVE, x, y, 0, 0);
+{
+ // Because MOUSEEVENTF_ABSOLUTE takes measurements scaled between 0 & 65535
+ // we need to scale our input too
+ int displayx, displayy;
+ wxDisplaySize(&displayx, &displayy);
+
+ int scaledx = ceil((float)x * 65535.0 / (displayx-1));
+ int scaledy = ceil((float)y * 65535.0 / (displayy-1));
+ mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, scaledx, scaledy, 0, 0);
+