Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ubuntu 20.04 LTS上使用python Xlib或C-API操作第二个(辅助)鼠标输入_Python_C_Xlib_Ubuntu 20.04_Multiple Mice - Fatal编程技术网

在ubuntu 20.04 LTS上使用python Xlib或C-API操作第二个(辅助)鼠标输入

在ubuntu 20.04 LTS上使用python Xlib或C-API操作第二个(辅助)鼠标输入,python,c,xlib,ubuntu-20.04,multiple-mice,Python,C,Xlib,Ubuntu 20.04,Multiple Mice,我正在使用2个电脑鼠标(Microsoft®2.4GHz收发器v9.0鼠标,id=11和MX垂直鼠标,id=31)连接到2个不同的主机上(虚拟核心指针,id=2和辅助指针id=27),请参见xinput: 笔记本电脑:~/$xinput ⎡ 虚拟核心指针id=2[主指针(3)] ⎜ ↳ 虚拟核心XTEST指针id=4[从指针(2)] ⎜ ↳ Microsoft®2.4GHz收发器v9.0鼠标id=11[从指针(2)] ⎜ ↳ Microsoft®2.4GHz收发器v9.0用户控制id

我正在使用2个电脑鼠标(
Microsoft®2.4GHz收发器v9.0鼠标,id=11
MX垂直鼠标,id=31
)连接到2个不同的主机上(
虚拟核心指针,id=2
辅助指针id=27
),请参见
xinput

笔记本电脑:~/$xinput
⎡ 虚拟核心指针id=2[主指针(3)]
⎜   ↳ 虚拟核心XTEST指针id=4[从指针(2)]
⎜   ↳ Microsoft®2.4GHz收发器v9.0鼠标id=11[从指针(2)]
⎜   ↳ Microsoft®2.4GHz收发器v9.0用户控制id=12[从指针(2)]
⎜   ↳ Microsoft®2.4GHz收发器v9.0用户控制id=13[从指针(2)]
⎜   ↳ ELAN9008:00 04F3:2A46 id=17[从指针(2)]
⎜   ↳ GDX1515:00 27C6:01F4鼠标id=19[从指针(2)]
⎜   ↳ GDX1515:00 27C6:01F4触摸板id=20[从指针(2)]
⎜   ↳ GDX1515:00 27C6:01F4 id=21[从指针(2)]
⎣ 虚拟核心键盘id=3[主键盘(2)]
↳ 虚拟核心XTEST键盘id=5[从键盘(3)]
↳ 电源按钮id=6[从键盘(3)]
↳ 视频总线id=7[从键盘(3)]
↳ 视频总线id=8[从键盘(3)]
↳ 电源按钮id=9[从键盘(3)]
↳ Microsoft®2.4GHz收发器v9.0 id=10[从键盘(3)]
↳ Microsoft®2.4GHz收发器v9.0系统控制id=14[从键盘(3)]
↳ USB2.0高清红外UVC网络摄像头:USB2.0 id=15[从键盘(3)]
↳ USB2.0高清红外UVC网络摄像头:USB2.0 id=16[从键盘(3)]
↳ ELAN9008:00 04F3:2A46 id=18[从键盘(3)]
↳ 英特尔HID事件id=22[从键盘(3)]
↳ Asus WMI热键id=23[从键盘(3)]
↳ 在转换集2上,键盘id=24[从键盘(3)]
↳ Microsoft®2.4GHz收发器v9.0用户控制id=25[从键盘(3)]
↳ Microsoft®2.4GHz收发器v9.0用户控制id=26[从键盘(3)]
⎡ 辅助指针id=27[主指针(28)]
⎜   ↳ 辅助XTEST指针id=29[从指针(27)]
⎜   ↳ MX垂直鼠标id=31[从指针(27)]
⎣ 辅助键盘id=28[主键盘(27)]
↳ 辅助XTEST键盘id=30[从键盘(28)]
问题: 如何使用python操作附加到
辅助指针(非
虚拟核心指针
)的
Mx垂直鼠标id=31
,例如使用
Xlib.ext.xtest.fake_input
pyautogui.moveTo
xaut
等。,或者直接使用
X窗口系统的
C
-API

问题: 这些基于
Xlib
的python软件包中的任何一个都只控制
虚拟核心指针
-主机,并附带
Microsoft®2.4GHz收发器v9.0鼠标,id=11
-从机。所有包都通过将
Xlib.display.display()
传递到
Xlib.ext.xtest.fake_input()
函数来获得初始的
虚拟核心指针
-master,该函数不接受任何进一步的输入来指定应该操作哪个指针(…但不确定最后一点)。我可以使用例如
Xlib.ext.xinput.query\u设备(窗口,xinput.AllMasterDevices.devices)[1]
获得辅助指针
-master,但是我不知道在哪里插入它。同时使用
辅助指针的源id
id=31
也没有帮助

我很感谢任何建议、想法或解决方案,提前谢谢

移动由设备ID指定的设备指针
XIWarpPointer
可用于控制鼠标光标,该鼠标光标由鼠标/光标所连接的主指针的id(不是鼠标的设备id)定义:

#包括
布尔指针(显示*显示,
int deviceid,
窗框,
窗户设计图,
双src_x,
双src_y,
int src_宽度,
内部src_高度,
双重目的地,
双目的地);
下面是一个如何将其集成到C中或构建一个库,然后使用python接口的示例,例如:


除了一些窗口管理器之外,基本上没有能够理解多个指针的工具或GUI库。这是新的,而且根本不清楚应该如何暴露。我很确定
pyautogui
无法处理它们。谢谢@TimRoberts的反馈,我现在也有同样的印象。也许我必须修改这个问题,并询问C-API中的任何可能性。。。