xlib - 在 ubuntu/linux 中使用 Xlib 或 xinput 控制多个指针

标签 xlib multiple-monitors mouse-cursor xinput

我正在创建一个在多个 xsession 中使用多个游标(指针)的系统。我的电脑有多个视频卡用于控制不同的显示器。我想在每个屏幕上有一个不同的光标并控制每个屏幕。每个监视器都是一个不同的 session 。

我开始使用 C 中的 xlib 库来控制我使用以下命令的单个光标:

XWarpPointer(display,None,window,0,0,0,0,x,y);

这对一个光标非常有效。然后我在终端中使用 xinput 创建了第二个光标:

>>xinput create-master second

然后我在屏幕上有两个光标。我可以使用重新连接命令用单独的鼠标去控制每个鼠标:

>>xinput reattach MOUSEID POINTERID

最后一步是使用 xlib 分别控制每个游标。当我使用 xWarpPointer 命令时,它只是四处移动原始光标,我找不到指定要控制的光标的方法。我也一直找不到设置默认指针的方法。您可以在终端中使用“xinput list”查看所有指针的列表。有谁知道我该怎么做

感谢您的帮助!

最佳答案

你需要使用来自XInput2扩展的XIWarpPointer请求,它以deviceid为参数

Bool     XIWarpPointer(
        Display*            display,
        int                 deviceid,
        Window              src_win,
        Window              dst_win,
        double              src_x,
        double              src_y,
        unsigned int        src_width,
        unsigned int        src_height,
        double              dst_x,
        double              dst_y
    );

关于xlib - 在 ubuntu/linux 中使用 Xlib 或 xinput 控制多个指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714831/

相关文章:

c++ - 使用X11/Xlib确定队列中是否有事件

带双显示器的 Java 全屏 jframe

windows-7 - 如何创建第二个任务栏以在多个显示器上使用?

c - 使用 X11 访问自定义 XResources 颜色

c++ - 在 X11 中监听键盘事件而不消耗它们 - 键盘 Hook

c - X11:如何让一个窗口一个接一个地移动?

c# - 如何使用双显示器应用程序解决这个焦点问题?

ubuntu - 如何在 X11/Xorg 中隐藏鼠标光标

javascript - 在javascript中获取鼠标光标的大小

javascript - 使用 JavaScript 在空闲时隐藏鼠标光标