簡體   English   中英

在X11上無法按預期移動鼠標光標

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM