我正在创建一个在多个xsessions中使用多个游标(指针)的系统。我的电脑里面有多个视频卡,用于控制不同的显示器。我想在每个屏幕上有一个不同的光标并控制每个。每个监视器都是不同的会话。
我开始在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”查看所有指针的列表。有谁知道我怎么能
感谢您的帮助!
答案 0 :(得分:1)
您需要使用来自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
);