来获取键盘数据信息(InPipe)。在下面的测试程序代码可以看出响应信息在第三字节处(其余为0)。
通过测试我可以得出下面的一些结论
MI_00-主要负责LED灯控以及可编程按键按键部分,宏录制功能(MR)、键盘上caps/scroll/num lock键部分。
MI_01-负责音量控制即多媒体功能键(播放、暂停等)
MI_02-负责键盘主要功能(WinUSB),可停止键盘工作。
这步相对的难点就是关于通信协议,键盘通信时序按键扫描码存放到内部缓冲存储器后,键盘通过串行通讯,将扫描码传输给计算机。解决问题的最好方法就是在应用程序与键盘之间下手。

最简单的方式就是利用USBPcap以及Wireshark来捕获USB数据包,而其它的一些工具仅仅可以浏览一些日志文件信息。值得注意的是,它们是免费的。当然需要对我的海盗船键盘进行驱动检测,否则就无法捕获目标数据了。
安装winshare时候会自动安装winpcap,同时它提供给wireshark可以接受不同类型的数据包。但现在需要用到USBPcap,最难的一点是利用Wireshark来分析USB协议信息。
第一次运行USBPcapCMD.exe,需要注意的是需要在K95键盘(设备名称)下运行。下面的程序代码中就有关于此(USBPcap2)的信息
C:\>"C:\Program Files\USBPcap\USBPcapCMD.exe"
Following filter control devices are available
1 \\.\USBPcap4
\??\USB#ROOT_HUB#4&39169944&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
2 \\.\USBPcap5
\??\USB#ROOT_HUB#4&3a448a3b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
3 \\.\USBPcap1
\??\USB#ROOT_HUB#4&dde9a6a&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
[Port 1] Xbox 360 Big Button IR Controller for Windows (Custom)
4 \\.\USBPcap6
\??\USB#ROOT_HUB#4&1c7c1fae&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
5 \\.\USBPcap2
\??\USB#ROOT_HUB#4&29e1bf0e&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
[Port 1] USB Composite Device
Corsair K95 Gaming Keyboard Driver
USB Input Device
HID-compliant consumer control device
USB Input Device
HID Keyboard Device
[Port 2] USB Input Device
HID-compliant mouse
6 \\.\USBPcap7
\??\USB#ROOT_HUB20#4&1602901b&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
7 \\.\USBPcap3
\??\USB#ROOT_HUB20#4&18f82c2c&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
[Port 4] USB Mass Storage Device
Portable USB Device
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-29895-3.html
跑到浙江这些粗制滥造的工厂去