您的位置:首页 > 其它

HID Boot device.

2015-12-29 11:44 411 查看
整理这篇文章的目的:

客户会有用到遥控器部分(遥控器操作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,

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: