void sendOSMouseEvent( SynthMouseEvent eventType, int x, int y )
{
// Create and setting up the event
Display *display = XOpenDisplay(NULL);
// Create and setting up the event
XEvent event;
memset (&event, 0, sizeof (event));
event.xbutton.button = Button1;
event.xbutton.x = x;
event.xbutton.y = y;
event.xbutton.same_screen = True;
event.xbutton.subwindow = DefaultRootWindow (display);
while (event.xbutton.subwindow)
{
event.xbutton.window = event.xbutton.subwindow;
XQueryPointer (display, event.xbutton.window,
&event.xbutton.root, &event.xbutton.subwindow,
&event.xbutton.x_root, &event.xbutton.y_root,
&event.xbutton.x, &event.xbutton.y,
&event.xbutton.state);
}
switch ( eventType )
{
case MousePress:
// Send a Windows left mouse button press event using SendInput.
event.type = ButtonPress;
if (XSendEvent (display, PointerWindow, True, ButtonPressMask, &event) == 0)
qDebug("Error to send the event!");
XFlush (display);
break;
case MouseRelease:
// Send a Windows left mouse button release event using SendInput.
event.type = ButtonRelease;
if (XSendEvent (display, PointerWindow, True, ButtonReleaseMask, &event) == 0)
qDebug("Error to send the event!");
XFlush (display);
break;
case MouseMove:
// Not used right now.
break;
}
}
void sendOSMouseEvent( SynthMouseEvent eventType, int x, int y )
{
// Create and setting up the event
Display *display = XOpenDisplay(NULL);
// Create and setting up the event
XEvent event;
memset (&event, 0, sizeof (event));
event.xbutton.button = Button1;
event.xbutton.x = x;
event.xbutton.y = y;
event.xbutton.same_screen = True;
event.xbutton.subwindow = DefaultRootWindow (display);
while (event.xbutton.subwindow)
{
event.xbutton.window = event.xbutton.subwindow;
XQueryPointer (display, event.xbutton.window,
&event.xbutton.root, &event.xbutton.subwindow,
&event.xbutton.x_root, &event.xbutton.y_root,
&event.xbutton.x, &event.xbutton.y,
&event.xbutton.state);
}
switch ( eventType )
{
case MousePress:
// Send a Windows left mouse button press event using SendInput.
event.type = ButtonPress;
if (XSendEvent (display, PointerWindow, True, ButtonPressMask, &event) == 0)
qDebug("Error to send the event!");
XFlush (display);
break;
case MouseRelease:
// Send a Windows left mouse button release event using SendInput.
event.type = ButtonRelease;
if (XSendEvent (display, PointerWindow, True, ButtonReleaseMask, &event) == 0)
qDebug("Error to send the event!");
XFlush (display);
break;
case MouseMove:
// Not used right now.
break;
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks