整理这篇文章的目的:

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

}

HID Boot device.的更多相关文章

  1. OS X EI Capitan安装refind时出现Could not set boot device property: 0xe00002bc

    参考:terminal - OSX 10.11 El Capitan - setting boot device property not working ... 解决办法: 1.重启MacMini, ...

  2. 电脑开机黑屏,显示Reboot and Select proper boot device!

    “reboot and select proper boot device or insert boot media in selected boot device and press a key” ...

  3. Unable to boot device in current state: Creating

    安装完xcode6.1后,将其改名为Xcode6.1.app,再移动个位置,启动模拟器,问题来了: Unable to boot device in current state: Creating 解 ...

  4. 系统无法启动inaccessible boot device

    近日有一台Windows 2016遇到了系统无法启动的问题,出现错误inaccessible boot device.发现系统可以进入故障恢复模式,看来问题还不大.因为进入故障恢复模式的时候自动识别的 ...

  5. grub2挂在iso镜像“ /dev/disk/by-label/XXXX error: boot device didn't show up after 30 seconds”问题

    两种解决办法: 方法A: mkdir /cdrom mount -t vfat /dev/sda1 /cdrom modprobe loop losetup /dev/loop6 /cdrom/boo ...

  6. 关于联想超极本出现蓝屏Default Boot Device Missing or Boot Failed的解决办法

    联想笔记本出现以下症状无法开机时: 解决方案:恢复BIOS默认设置,把硬盘设置为第一启动项. 若成功检测到硬盘并有EFI引导程序,那么恭喜你这就完事了,重启后就可以正常开机了. 但是,若在UEFI模式 ...

  7. 修复win10升级时断电inaccessible boot device

    代码提示0xc0000001 这里的解决方法对系统以及个人的没有文件丢失的影响,没有重装以及重置上丢失东西的顾虑 解决方法: WINDOWS/system32/config/RegBack/SYSTE ...

  8. 如何解决""No boot device available(无可用的引导设备)”错误

    首先换一个镜像文件试一试,如果还不行就按以下方法尝试 http://www.parallelsdesktop.cn/xnjxt-wydsb.html Parallels Desktop 常见问题 ht ...

  9. Human Interface Device (HID) Class Decoder

    http://www.usblyzer.com/usb-human-interface-device-hid-class-decoder.htm   Human Interface Device (H ...

随机推荐

  1. 网页上facebook分享功能的具体实现

    1,一个链接: 参数是要分享的页面的链接 代码如下: <a style="width:35px; height:40px; position:relative; top:10px; l ...

  2. zepto源码研究 - zepto.js (zepto.init)

    简要:当我们用$()时,便会直接调用zepto.init 生成zepto对象,那zepto.init是如何根据不同类型的参数来生产指定对象呢? zepto.init = function(select ...

  3. (三)Angularjs - 小实例

    AngularJS处理数据表格 使用 np-repeat 指令 <table> ... <!-- 这里使用ng-repeat指令来重复数据生成表格 --> <tr ng- ...

  4. Caused by: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "mil_id")

    今天在使用mybatis处理数据库的时候,突然抛出了上述异常,让我感到很惊讶,因为在处理save的时候,在Mybatis的配置文件中,我根本就没有使用到ognl表达式,系统怎么会抛出上述异常.而且之前 ...

  5. IO流(File类

    File类 三个构造方法 File(String filename)//模式和应用程序一个目录下 File(String directoryPath,String filename)//文件的绝对路径 ...

  6. Oracle错误问题---- 《ora-12638:身份证明检索失败》

    使用客户端可以连接,但只有一个站点出现此问题,非常郁闷,网上查了一下,发现是用户认证问题,解决办法如下: 在ORACLE客户端目录下 NETWORK/ADMIN下的sqlnet.ora,使用记事本打开 ...

  7. 一个用httpPost,get访问外网接口,参数json,返回json的示例

    package com.royal.util; import java.io.BufferedReader;import java.io.DataInputStream;import java.io. ...

  8. 深入理解CSS选择器优先级的计算

    选择器的优先级关系到元素应用哪个样式.在CSS2.1的规范(http://www.w3.org/TR/2009/CR-CSS2-20090908/cascade.html#specificity)中是 ...

  9. 离线破win2003域账号密码(更新域数据库不在默认路径的情况)

    国内网站讲了许多方法,很多也讲得不清楚.我把我尝试成功的经验跟大家分享. 方法是按照tim的文章操作,链接如下: http://pauldotcom.com/2011/11/safely-dumpin ...

  10. Android 中HttpURLConnection与HttpClient的简单使用

    1:HttpHelper.java public class HttpHelper { //1:标准的Java接口 public static String getStringFromNet1(Str ...