如何在多屏Linux下用C语言在X窗口中设置鼠标光标?我有 2 个显示器(具有不同的分辨率)插入到单个 linux pc。 我使用“: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);
}
最佳答案
您需要传递您希望指针移动到的显示的根窗口的句柄:
root = RootWindow(display, screennumber);
XWarpPointer(display, None, root, 0, 0, 0, 0, x, y);
这里有一个完整的工作 C 示例:
http://www.ishiboo.com/~danny/Projects/xwarppointer/
可能有用:)
关于c++ - 多屏系统C中的鼠标光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4385475/