3

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

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

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

这适用于一个光标。然后我在终端中使用 xinput 创建了第二个光标:

>>xinput create-master second

然后我在屏幕上有两个光标。我可以使用 reattach 命令用单独的鼠标来控制每个:

>>xinput reattach MOUSEID POINTERID

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

谢谢您的帮助!

4

1 回答 1

3

您需要使用XIWarpPointer来自 XInput2 扩展的请求,它以 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
    );
于 2012-12-05T07:01:34.557 回答