add the mouse absolute coordinate option

This commit is contained in:
Gergely Mincsovics
2020-12-27 01:55:29 +01:00
parent 3f19c04a8f
commit beb8d06191
6 changed files with 35 additions and 13 deletions

View File

@ -11,6 +11,19 @@ void sendevent(const FakeEvent &e) {
XTestFakeRelativeMotionEvent(display, e.move.x, e.move.y, 0);
break;
case FakeEvent::MouseMoveAbsolute:
{
Screen* screen = XDefaultScreenOfDisplay(display);
static int rememberX = 0, rememberY = 0;
if (e.move.x) rememberX = e.move.x;
if (e.move.y) rememberY = e.move.y;
const int scaledX100 = rememberX * (XWidthOfScreen(screen)/2) / 100;
const int scaledY100 = rememberY * (XHeightOfScreen(screen)/2) / 100;
XTestFakeMotionEvent(display, DefaultScreen(display),
XWidthOfScreen(screen)/2 + scaledX100,
XHeightOfScreen(screen)/2 + scaledY100, 0);
break;
}
case FakeEvent::KeyUp:
if (e.keycode == 0) return;
XTestFakeKeyEvent(display, e.keycode, false, 0);