[英]Moving the mouse cursor doesn't work as expected on X11
我试图在按下鼠标左键(Button1)的同时移动鼠标指针。 但这是行不通的。 例如,如果我启动GIMP,则看到一个点(光标向下),那么光标将移动但没有绘制。 我期望看到一条画出的线(按住向下按钮的同时移动)。
Display * display = XOpenDisplay(0);
XEvent event;
memset (&event, 0, sizeof (event));
event.xbutton.button = Button1;
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);
}
// Press
event.type = ButtonPress;
if (XSendEvent (display, PointerWindow, True, 0xFFF, &event) == 0)
fprintf (stderr, "Error to send the event!\n");
XFlush (display);
// Move
XWarpPointer(display, None, 0, 0, 0, 0, 0, 50, 50);
XFlush (display);
// Release
event.type = ButtonRelease;
event.xbutton.state = 0x100;
if (XSendEvent (display, PointerWindow, True, 0xFFF, &event) == 0)
fprintf (stderr, "Error to send the event!\n");
XFlush (display);
我究竟做错了什么?
谢谢!
尼古拉斯
使用XTest扩展库来伪造用户输入事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.