自己实现的HID键盘端点的配置问题

USB中文网 2022-06-09 11:42:59 编辑

请问一个问题,我现在的USB键盘,只用到了端点1来发送和接收,如果把接口描述符的bNumEndpoints写成0x01的时候,键盘的三个指示灯没有反应,写成0x02的时候,键盘上的灯可以正常使用,但是在BIOS界面键盘不能使用,进入系统后才能用.

这是接口和配置描述符
接口和配置描述符

端点配置里我只配置了端点1,没用到端点2
111546838637

111618371588

这是端点1的接收
111556904297

HID键盘报告描述符
HID键盘报告描述符

USB中文网 2022-06-09 11:28:09 编辑

HID键盘正常工作只需要一个输入端点和输出报告描述符即可。不过我们一般使用的键盘也会有一个输出端点和输出报告描述符,这是用来同步接入系统中所有键盘的指示灯。
如果自己的键盘固件中没有输出端点和相应的输出报告描述符,也不会收到键盘指示灯的同步消息,也以自己的键盘的指示灯是不会工作了。

另外:而报告内容是通过中断端点传输的。所以对于输入报告,是通过中断输入端点传输的,而输出报告既可以通过中断输出端点传输也可以通过控制端点0传输(无输出中断端点时)。更多详见:http://www.usbzh.com/article/detail-48.html