STM32制作USB键盘的问题
发布: 2010-1-31 15:43 | 作者: 020411 | 来源: StmFans思蜕盟 OPELC 自由电子联盟
不知除了我,还有人用STM32做USB键盘的没有,本人在做一个项目,需要用到模拟USB键盘,于是想到了STM32,谁知问题来了,正常的USB键盘插上去后PC会回复一个数据,可本人就是没有,试过完全复制通用键盘的报告描述符,还是不行。。。。难道库有问题?请高人指教,顺带由于此例网上还没有,,完成此项目后本人会将STM32的通用USB键盘源码开源。

2.JPG

1.JPG

3.JPG

0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x06, // USAGE (Keyboard)
0xa1, 0x01, // COLLECTION (Application)
0x05, 0x07, // USAGE_PAGE (Keyboard)
0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl)
0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x08, // REPORT_COUNT (8)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x08, // REPORT_SIZE (8)
0x81, 0x01, // INPUT (Cnst,Ary,Abs)
0x95, 0x03, // REPORT_COUNT (3)
0x75, 0x01, // REPORT_SIZE (1)
0x05, 0x08, // USAGE_PAGE (LEDs)
0x19, 0x01, // USAGE_MINIMUM (Num Lock)
0x29, 0x03, // USAGE_MAXIMUM (Scroll Lock)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0x95, 0x01, // REPORT_COUNT (1)
0x75, 0x05, // REPORT_SIZE (5)
0x91, 0x01, // OUTPUT (Cnst,Ary,Abs)
0x95, 0x06, // REPORT_COUNT (6)
0x75, 0x08, // REPORT_SIZE (8)
0x15, 0x00, // LOGICAL_MINIMUM (0),52
0x26, 0xFF,
0x00, 0x05,
0x07, 0x19,
0x00, 0x2A,
0xFF, 0x00,
0x81, 0x00,
0xc0 // END_COLLECTION
0x05, 0x0c, // USAGE_PAGE (Generic Cust)
0x09, 0x01, // USAGE (Keyboard)
0xa1, 0x01, // COLLECTION (Application)
0x05, 0x07, // USAGE_PAGE (Keyboard)
0x19, 0x04, // USAGE_MINIMUM (Keyboard a and A)
0x29, 0x2c, // USAGE_MAXIMUM (Keyboard Spacebar)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x29, // LOGICAL_MAXIMUM (41)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x01, // REPORT_COUNT (1)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated))
0x29, 0xe5, // USAGE_MAXIMUM (Keyboard RightShift)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x01, // REPORT_COUNT (1)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0 // END_COLLECTION
http://www.stmfans.com/bbs/viewthread.php?tid=5511