如何在多屏幕的Linux下在C窗口的X窗口中设置鼠标光标?我有2个显示器(具有不同的分辨率)插入一个Linux电脑。 我使用“:0.1”来寻址第二台显示器。我从监视器1运行应用程序,同时将鼠标保持在监视器1上......结果鼠标移动但不跳到监视器2上。 如果我手动将鼠标光标放在监视器2上并从监视器1运行应用程序,则鼠标移动。
我需要一种在显示器之间移动光标的方法。
#include "Xlib.h"
int main() {
int delta_x = 5, delta_y = 5;
Display *display = XOpenDisplay(":0.1");
// move pointer relative to current position
XWarpPointer(display, None, None, 0, 0, 0, 0, delta_x, delta_y);
XCloseDisplay(display);
}
答案 0 :(得分:4)
您需要传递希望指针移动到的显示器根窗口的句柄:
root = RootWindow(display, screennumber);
XWarpPointer(display, None, root, 0, 0, 0, 0, x, y);
这里有一个完整的工作C示例:
http://www.ishiboo.com/~danny/Projects/xwarppointer/
可能有用:)