导航

鼠标键盘_2集合and2接口

  与其说是带鼠标功能的USB键盘,不如说鼠标和USB键盘双功能的HID设备

  实现方法有两个:

    一、1个接口,使用两个集合和报告。使用1个输入端点和1个输出端点。  

    二、2个接口,一个接口实现键盘,一个接口实现鼠标。(需要2个输入端点和1个输出端点)

 

方法一:

  1.在报告描述符里添加两个应用集合。为了区分,还需要添加报告ID,同时报告的首字节必须作为报告ID。

  2.为什么之前没有报告ID呢,因为只有一个报告的情况下,会自动添加一个报告ID,主机发送和接收都会自动去除这个ID。

  3.然而,现在主动添加报告ID了,因此输入输出的报告首字节都是报告ID。 

  4.添加方法:键盘集合->报告ID->结束键盘集合->鼠标集合->报告ID->结束鼠标集合 

 

方法二:

  1.创建两个报告描述符,一个鼠标的一个键盘的,同时为了减少代码修改量,之前的报告ID就不删除了,同时两个报告ID可以是相同的。

  2.两个报告描述符要用两个接口去返回,因此要再添加一个接口描述符,那么相应的就得添加HID描述符和端点描述符。

  3.要返回两个报告描述符,在返回时,如何区分呢,用Windex来判断哪个接口,然后进行返回。

  4.如何返回报告呢,一个用端点1,一个用端点2(同一个端点不能用在两个接口上)。

posted on 2017-09-21 11:42  刘梢  阅读(206)  评论(0编辑  收藏  举报