HID Boot device.

整理这篇文章的目的:

客户会有用到遥控器部分(遥控器操作flow:当按下某个键时,MCU会透过UR送command给TP,TP吃到后再透过微软标准的keyboard上报)

要求:在BIOS设定阶段,遥控器也要能正常操作.

 

接口描述符中bInterfaceSubClass的值为0/1,为1表示HID设备描述符是一个Boot device.

意思是BIOS启动时就能识别并使用你的设别,且只有标准鼠标或键盘类设备才能成为Boot device,为0则只有在操作系统启动后才能识别并使用你的HID设备.

 

keyboard_interface_descriptor =
{  
   0x09,                               // bLength                  长度9个,不可变
   0x04,                               // bDescriptorType      接口描述符
   0x00,                               // bInterfaceNumber    接口0  (接口从0开始,键盘定义0,鼠标定义1)
   0x00,                               // bAlternateSetting      接口索引值
   0x01,                               // bNumEndpoints       端点个数1(端点0不可用,比如EP1)
   0x03,                               // bInterfaceClass       (3 = HID)
   0x01,                               // bInterfaceSubClass   接口子类型:01为Boot Device,键鼠在BIOS下就启动
   0x01,                               // bInterfaceProcotol       接口协议:00--None  01--Keyboard  02--Mouse
   0x00                                // iInterface                    描述该接口的字符串索引
};

mouse_interface_descriptor =
{  
   0x09,                               // bLength            长度9个,不可变
   0x04,                               // bDescriptorType        接口描述符
   0x01,                               // bInterfaceNumber      接口1   不同接口
   0x00,                               // bAlternateSetting       接口索引值
   0x01,                               // bNumEndpoints         端点个数1(端点0不可用,比如EP2)
   0x03,                               // bInterfaceClass          (3 = HID)
   0x01,                               // bInterfaceSubClass    接口子类型:01为Boot Device,键鼠在BIOS下就启动
   0x02,                               // bInterfaceProcotol      接口协议:00--None  01--Keyboard  02--Mouse
   0x00                                // iInterface                   描述该接口的字符串索引
};

Multi-touch.

Elan_interface_descriptor = 

{

  0x09,

  0x04,

  0x00,

  0x00,

  0x02,

  0x03,

  0x00,

  0x00,

  0x00,

}

 

ILI_interface0_descriptor = 

{ 

  0x09,               
  0x00,                 
  0x00,                  
  0x01,              
  0x03,                
  0x00,               
  0x00,               
  0x00,               

}

 

ILI_interface1_descriptor = 

{ 

  0x09, 
  0x04, 
  0x01,
  0x00, 
  0x01, 
  0x03,
  0x00,
  0x00,
  0x00, 

}

转载于:https://www.cnblogs.com/AlwaysOnLines/p/5085211.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值