我有支持在多个设备之间切换的罗技鼠标和键盘。我缺少的功能是通过运行命令或快捷方式同时切换鼠标和键盘。
我想问是否可以将输出发送到鼠标和键盘以更改其频道?如果是这样,你能指导我怎么做吗?
我没有 USB HID 的经验,但我使用busdog
工具嗅探输出,我发现每次按下一个键将频道从第一个更改为第二个时都会发送以下代码。
代码:
10 03 41 04 71 8a 40
之后我尝试使用命令行工具hidapitester
将代码发送到键盘,希望它会改变它的频道。可惜没有结果。
$ hidapitester --vidpid 046D/C52B --list
046D/C52B: Logitech - USB Receiver
046D/C52B: Logitech - USB Receiver
046D/C52B: Logitech - USB Receiver
046D/C52B: Logitech - USB Receiver
Opening device, vid/pid: 0x046D/0xC52B
Closing device
$ hidapitester --vidpid 046D/C52B --open --length 7 --send-output 0x10 0x03 0x41 0x04 0x71 0x8a 0x40 --read-input
Opening device, vid/pid: 0x046D/0xC52B
Writing output report of 7-bytes...wrote -1 bytes:
10 00 00 00 00 00 00
Reading 7-byte input report 0, 250 msec timeout...read -1 bytes:
Closing device
更新:
下面我在按下从第一通道切换到第二通道的键后添加跟踪日志:
Id Type Time Length Hex
24 In (USB URB Function: 9) 0.000000 20 11 03 08 20 00 d2 01 00 00 00 00 00 00 00 00 00 00 00 00 00
29 R 0.000377 20 11 03 08 20 00 d2 01 00 00 00 00 00 00 00 00 00 00 00 00 00
24 In (USB URB Function: 9) 0.291648 7 10 03 41 04 71 8a 40
28 R 0.000449 7 10 03 41 04 71 8a 40