阅读:1267回复:3
开发键盘问题,各位大虾,给点建议吧
我准备用d12模拟usb键盘.当连接到pc时,希望pc机能把d12发送的数据当键盘数据处理.
我先连上键盘,用bus hound截获数据,7口是作为usbhub设备.但是看不太懂是什么东西,无法下手了,希望大家能给点建议.似乎开始是枚举过程 连上键盘后的数据如下: Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- -------------------------------------------------- ---------------- ------------------ 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 1.1.0 80 fd 7b 81 80 fd 7b 81 00 00 00 00 00 00 00 00 1.1.16 7 STAK 16 02 00 e0 03 00 00 00 01 00 00 00 01 00 00 00 POWER 1.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 d6 1a 75 f8 1.2.16 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 2.1.0 18 b0 ee 81 18 b0 ee 81 00 00 00 00 00 00 00 00 2.1.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 2.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 22 dc 74 f8 2.2.16 7.1 URB 48 00 09 00 00 00 00 00 10 d4 07 82 22 00 00 00 BULK/INT XFER 2.3.0 64 a9 1d 82 03 00 00 00 00 00 00 00 e0 f3 38 82 2.3.16 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 3.1.0 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 3.2.0 10 e2 f7 81 10 e2 f7 81 00 00 00 00 00 00 00 00 3.2.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 3.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 98 da 74 f8 3.3.16 7.0 LEN 04 00 00 00 4 3.4.0 7.0 DI 01 03 01 00 .... 3.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 3.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 40 e3 13 82 3.6.16 7 CTL a3 00 00 00 01 00 04 00 CLASS 4.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 4.2.0 b8 7f 3b 82 b8 7f 3b 82 00 00 00 00 00 00 00 00 4.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 4.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 4.3.16 7.0 LEN 04 00 00 00 4 4.4.0 7.0 DI 01 03 01 00 .... 4.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 4.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 78 c0 25 82 4.6.16 7.0 CTL 23 01 10 00 01 00 00 00 CLEAR FEATURE 5.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 5.2.0 b8 7f 3b 82 b8 7f 3b 82 00 00 00 00 00 00 00 00 5.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 5.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 5.3.16 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 20 00 00 00 CONTROL TRANSFER 5.4.0 28 d4 07 82 0a 00 00 00 00 00 00 00 00 00 00 00 5.4.16 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 6.1.0(2) 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 6.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 6.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 6.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 6.3.16 7.0 LEN 04 00 00 00 4 6.4.0 7.0 DI 01 03 00 00 .... 6.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 6.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 78 c0 25 82 6.6.16 7.0 CTL 23 03 04 00 01 00 00 00 SET FEATURE 8.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 8.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 8.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 8.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 8.3.16 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 20 00 00 00 CONTROL TRANSFER 8.4.0 28 d4 07 82 0a 00 00 00 00 00 00 00 00 00 00 00 8.4.16 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 9.1.0 18 b0 ee 81 18 b0 ee 81 00 00 00 00 00 00 00 00 9.1.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 9.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 22 dc 74 f8 9.2.16 7.1 URB 48 00 09 00 00 00 00 00 10 d4 07 82 22 00 00 00 BULK/INT XFER 9.3.0 64 a9 1d 82 03 00 00 00 00 00 00 00 e0 f3 38 82 9.3.16 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 10.1.0 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 10.2.0 10 e2 f7 81 10 e2 f7 81 00 00 00 00 00 00 00 00 10.2.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 10.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 98 da 74 f8 10.3.16 7.0 LEN 04 00 00 00 4 10.4.0 7.0 DI 03 03 10 00 .... 10.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 10.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 40 e3 13 82 10.6.16 7.0 CTL 23 01 14 00 01 00 00 00 CLEAR FEATURE 11.1.0 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 11.2.0 10 e2 f7 81 10 e2 f7 81 00 00 00 00 00 00 00 00 11.2.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 11.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 0a c9 74 f8 11.3.16 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 20 00 00 00 CONTROL TRANSFER 11.4.0 28 d4 07 82 0a 00 00 00 00 00 00 00 00 00 00 00 11.4.16 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 12.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 12.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 12.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 12.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 12.3.16 7.0 LEN 04 00 00 00 4 12.4.0 7.0 DI 03 03 00 00 .... 12.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 12.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 78 c0 25 82 12.6.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 13.1.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 13.1.16 7 STAK 0f 00 00 00 04 f9 99 f8 00 00 00 00 33 04 22 00 INTERNAL IOCTL 13.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 00 00 00 00 13.2.16 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 14.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 14.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 14.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 14.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 14.3.16 7.0 LEN 04 00 00 00 4 14.4.0 7.0 DI 03 03 00 00 .... 14.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 14.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 78 c0 25 82 14.6.16 7.0 CTL 23 03 04 00 01 00 00 00 SET FEATURE 15.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 15.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 15.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 15.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 15.3.16 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 20 00 00 00 CONTROL TRANSFER 15.4.0 28 d4 07 82 0a 00 00 00 00 00 00 00 00 00 00 00 15.4.16 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 16.1.0 18 b0 ee 81 18 b0 ee 81 00 00 00 00 00 00 00 00 16.1.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 16.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 22 dc 74 f8 16.2.16 7.1 URB 48 00 09 00 00 00 00 00 10 d4 07 82 22 00 00 00 BULK/INT XFER 16.3.0 64 a9 1d 82 03 00 00 00 00 00 00 00 e0 f3 38 82 16.3.16 7.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 17.1.0 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 17.2.0 10 e2 f7 81 10 e2 f7 81 00 00 00 00 00 00 00 00 17.2.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 17.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 98 da 74 f8 17.3.16 7.0 LEN 04 00 00 00 4 17.4.0 7.0 DI 03 03 10 00 .... 17.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 17.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 40 e3 13 82 17.6.16 7.0 CTL 23 01 14 00 01 00 00 00 CLEAR FEATURE 18.1.0 7 IRP 06 00 dc 00 00 00 00 00 00 00 00 00 00 00 00 00 18.2.0 10 e2 f7 81 10 e2 f7 81 00 00 00 00 00 00 00 00 18.2.16 7 STAK 0f 00 00 e0 e4 e3 13 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 18.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 0a c9 74 f8 18.3.16 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 20 00 00 00 CONTROL TRANSFER 18.4.0 28 d4 07 82 0a 00 00 00 00 00 00 00 00 00 00 00 18.4.16 7.0 CTL 80 06 00 02 00 00 ff 00 GET DESCRIPTOR 19.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 19.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 19.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 19.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 19.3.16 7.0 LEN 3b 00 00 00 59 19.4.0 7.0 DI 09 02 3b 00 02 01 01 a0 32 09 04 00 00 01 03 01 ..;.....2....... 19.5.0 01 01 09 21 10 01 00 01 22 36 00 07 05 81 03 08 ...!...."6...... 19.5.16 7.0 URB 50 00 08 00 00 00 00 00 20 fb f9 81 22 00 00 00 CONTROL TRANSFER 19.6.0 38 fb f9 81 0b 00 00 00 3b 00 00 00 30 41 a1 81 19.6.16 7.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 20.1.0 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 20.2.0 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 20.2.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 20.3.0 00 00 00 00 40 d2 07 82 00 00 00 00 1a ed 74 f8 20.3.16 7.0 LEN 04 00 00 00 4 20.4.0 7.0 DI 00 01 00 00 .... 20.5.0 7.0 URB 50 00 08 00 00 00 00 00 10 d4 07 82 22 00 00 00 CONTROL TRANSFER 20.6.0 28 d4 07 82 0b 00 00 00 04 00 00 00 78 c0 25 82 20.6.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 21.1.0 b8 7f 3b 82 b8 7f 3b 82 00 00 00 00 e8 61 cc 81 21.1.16 7 STAK 1b 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 QUERY RELATIONS 21.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 00 00 00 00 21.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 22.1.0(4) 80 fd 7b 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 22.1.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 22.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 22.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 26.1.0 d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 26.1.16 7 STAK 0f 00 00 e0 18 f9 99 f8 00 00 00 00 03 00 22 00 INTERNAL IOCTL 26.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 26.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 27.1.0(2) d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 27.1.16 7 STAK 0f 00 00 e0 00 f9 99 f8 00 00 00 00 03 00 22 00 INTERNAL IOCTL 27.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 27.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 29.1.0 d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 29.1.16 7 STAK 0f 00 00 e0 10 ce 1e 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 29.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 56 f8 74 f8 29.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 30.1.0(2) d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 30.1.16 7 STAK 0f 00 00 e0 bc f7 99 f8 00 00 00 00 03 00 22 00 INTERNAL IOCTL 30.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 30.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 32.1.0(2) d8 58 92 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 32.1.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 32.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 32.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 34.1.0(2) 00 5c f3 81 b8 7f 3b 82 00 00 00 00 00 00 00 00 34.1.16 7 STAK 0f 00 00 e0 90 a7 19 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 34.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 34.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 36.1.0 d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 36.1.16 7 STAK 0f 00 00 e0 10 ce 1e 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 36.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 36.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 37.1.0 88 db 27 82 88 db 27 82 00 00 00 00 00 00 00 00 37.1.16 7 STAK 0f 00 00 e0 68 26 16 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 37.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 37.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 38.1.0 80 ee 20 82 80 ee 20 82 00 00 00 00 00 00 00 00 38.1.16 7 STAK 0f 00 00 e0 90 28 16 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 38.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 38.2.16 7 IRP 06 00 d8 01 20 a7 a0 81 30 00 00 00 78 0d 95 81 39.1.0 40 32 17 82 a8 b5 68 81 00 00 00 00 00 00 00 00 39.1.16 7 STAK 0f 00 00 e0 d8 0a 16 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 39.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 39.2.16 |
|
沙发#
发布于:2007-08-13 11:37
初步构想是不改pc机的驱动.直接用d12模拟键盘的数据.
开始按键的数据如下,我按了三个键 zx1 Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- -------------------------------------------------- ---------------- ------------------ Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- -------------------------------------------------- ---------------- ------------------ 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 1.1.0 d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 1.1.16 7 STAK 0f 00 00 e0 10 ce 1e 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 1.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 1.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 2.1.0 88 db 27 82 88 db 27 82 00 00 00 00 00 00 00 00 2.1.16 7 STAK 0f 00 00 e0 68 26 16 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 2.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 2.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 3.1.0 d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 3.1.16 7 STAK 0f 00 00 e0 10 ce 1e 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 3.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 3.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 4.1.0 88 db 27 82 88 db 27 82 00 00 00 00 00 00 00 00 4.1.16 7 STAK 0f 00 00 e0 68 26 16 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 4.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 4.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 5.1.0 d8 aa f4 81 d8 aa f4 81 00 00 00 00 00 00 00 00 5.1.16 7 STAK 0f 00 00 e0 10 ce 1e 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 5.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 5.2.16 7 IRP 06 00 90 01 00 00 00 00 00 00 00 00 00 00 00 00 6.1.0 88 db 27 82 88 db 27 82 00 00 00 00 00 00 00 00 6.1.16 7 STAK 0f 00 00 e0 68 26 16 82 00 00 00 00 03 00 22 00 INTERNAL IOCTL 6.2.0 00 00 00 00 40 d2 07 82 00 00 00 00 7d 56 7e f8 6.2.16 |
|
板凳#
发布于:2007-08-13 17:23
现在的状况是我不知道这些包 哪些是电脑发的,哪些是键盘发的,有没有什么资料或者设计思路推荐一下,静待大牛
|
|
地板#
发布于:2007-08-13 20:18
再顶一下,.到底如何让pc系统把d12当成键盘来处理啊.枚举过程怎么改啊?哪里有类似的资料吗?
|
|