C++ Raspberry Pi Zero-变为虚拟鼠标在Windows 10 build 1809上无法正常工作(光标弹回到左上角)
我有一个树莓皮零,我把它变成了一个虚拟键盘和虚拟鼠标。我在github上使用了这个惊人的回购协议(谢谢你,SeongTae Jeong!)。要简要总结其工作原理,请执行以下操作:C++ Raspberry Pi Zero-变为虚拟鼠标在Windows 10 build 1809上无法正常工作(光标弹回到左上角),c++,windows,raspberry-pi,windows-10,raspberry-pi-zero,C++,Windows,Raspberry Pi,Windows 10,Raspberry Pi Zero,我有一个树莓皮零,我把它变成了一个虚拟键盘和虚拟鼠标。我在github上使用了这个惊人的回购协议(谢谢你,SeongTae Jeong!)。要简要总结其工作原理,请执行以下操作: 您可以通过USB电缆将PI Zero连接到另一台计算机,并使用以太网电缆将其连接到Internet 将其连接到计算机后,将在设备管理器(Windows)中创建3个新设备: 人机界面设备 Usb输入设备 键盘 HID键盘设备 鼠标和其他指向设备 HID兼容鼠标(绝对位置+按钮) HID兼容鼠标(相对位置+滚轮
- 人机界面设备
- Usb输入设备
- 键盘
- HID键盘设备
- 鼠标和其他指向设备
- HID兼容鼠标(绝对位置+按钮)
- HID兼容鼠标(相对位置+滚轮)
byte[]convertToUseCommands(“853 3033”)
。它可以在repo中的InputController/MouseDevice.cs或Demo/MouseDevice.cs中找到。此函数将数字转换为字节数组,如下所示:(EDIT*)我将在其旁边放置在发送相对鼠标命令(X=+50,Y=+50)时创建的字节数组,以进行比较
[0] = 11 <- Packet length (15 - 4) [0] = 7 (11-4)
[1] = 0 [1] = 0
[2] = 0 [2] = 0
[3] = 0 [3] = 0
[4] = 7 <- 7 means absolute command [4] = 6 <- 6 means relative commands
[5] = 85 <- (xPos & 0xff) [5] = 0
[6] = 3 <- (xPos & 0xff00) >> 8) [6] = 50 <- xPos (Just xPos!) you can only send +-127
[7] = 217 <- (yPos & 0xff) [7] = 50 <- yPos (Just yPos!) you can only send +-127
[8] = 11 <- (yPos & 0xff00) >> 8) [8] = 0
[9] = 0 [9] = 0
[10] = 0 [10] = 0
[11] = 0
[12] = 0
[13] = 0
[14] = 0
[0]=11这些字节数组可能是USB HID数据包。看看USB嗅探器能告诉你什么。这听起来像是你应该问github repo的所有者或可能是Microsoft。而且,如果它在最新的Windows版本上工作,那么为什么不直接使用它呢?你有没有理由专门使用1809?我明白了,某个程序员,谢谢!@Botje谢谢你,你给了我一些希望!我安装了一个嗅探器,我发现在版本1903和1809上总是发送两个HID包。第一个是正确的,带有坐标,第二个总是坐标在X=0和Y=0。虽然前一个版本接受它,但它可能会混淆前一个版本。我不会请尝试修改代码,使第二个代码不会被发送,并查看这将带我去哪里。@Frodyne如果代码修改不起作用,我将尝试联系回购协议的所有者或(希望如此)Microsoft。我不愿意只使用最新版本,因为将来可能会有另一个版本失败。因此,我想现在修复此错误。谢谢您的回答!