我正在尝试设置 X11 光标位置。我尝试调用XWarpPointer ,将窗口设置为None,root(DefaultRootWindow(display((,到先前创建的窗口(XCreateWindow(。正在调用该函数,鼠标会减慢一点,但它不会物理移动。为什么会这样?
void GameWindow::ResetCursor() {
SetCursor(resX / 2, resY / 2);
}
void GameWindow::SetCursor(int x, int y) {
// Window root = DefaultRootWindow(display);
XWarpPointer(display, None, root, 0, 0, 0, 0, x, y);
XFlush(display);
}
编辑:这是整个X11窗口文件,以防您在这里找不到原因。 https://gist.github.com/KarimIO/7db1f50778fda63a36c10242989baab6
这个答案是相对愚蠢的。我在Wayland上使用Gnome,假设它也支持X11。我猜错了。