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,
}
HID Boot device.的更多相关文章
- 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, ...
- 电脑开机黑屏,显示Reboot and Select proper boot device!
“reboot and select proper boot device or insert boot media in selected boot device and press a key” ...
- Unable to boot device in current state: Creating
安装完xcode6.1后,将其改名为Xcode6.1.app,再移动个位置,启动模拟器,问题来了: Unable to boot device in current state: Creating 解 ...
- 系统无法启动inaccessible boot device
近日有一台Windows 2016遇到了系统无法启动的问题,出现错误inaccessible boot device.发现系统可以进入故障恢复模式,看来问题还不大.因为进入故障恢复模式的时候自动识别的 ...
- 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 ...
- 关于联想超极本出现蓝屏Default Boot Device Missing or Boot Failed的解决办法
联想笔记本出现以下症状无法开机时: 解决方案:恢复BIOS默认设置,把硬盘设置为第一启动项. 若成功检测到硬盘并有EFI引导程序,那么恭喜你这就完事了,重启后就可以正常开机了. 但是,若在UEFI模式 ...
- 修复win10升级时断电inaccessible boot device
代码提示0xc0000001 这里的解决方法对系统以及个人的没有文件丢失的影响,没有重装以及重置上丢失东西的顾虑 解决方法: WINDOWS/system32/config/RegBack/SYSTE ...
- 如何解决""No boot device available(无可用的引导设备)”错误
首先换一个镜像文件试一试,如果还不行就按以下方法尝试 http://www.parallelsdesktop.cn/xnjxt-wydsb.html Parallels Desktop 常见问题 ht ...
- Human Interface Device (HID) Class Decoder
http://www.usblyzer.com/usb-human-interface-device-hid-class-decoder.htm Human Interface Device (H ...
随机推荐
- Oracle 优化——位图、函数等索引介绍
一.位图索引 我将使用一个例子,来描述位图索引的存储,并分析它的优点. Table :Loans 放贷信息 ID userId 行业投向 币种 证件类型 还本付息方式 状态 1 1 农业 人民币 身份 ...
- 传输层-TCP
UDP协议提供了端到端之间的通讯,应用程序只需要在系统中监听一个端口,便可以进行网络通讯.随着计算机网络的发展,计算机网络所承载的业务越来越多,有些业务数据的传输需要具备可靠性,譬如我们在进行在线聊天 ...
- android 样式开发
1. Android的样式一般定义在res/values/styles.xml文件中,其中有一个根元素<resource>,而具体的每种样式定义则是通过<resource>下的 ...
- Python正则表达式一
推荐 http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html#!comments 这篇博客超好,建议收藏. 不过对于正则表达式小白,他没 ...
- hdu1025 最长不下降子序列nlogn算法
C - DP Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64bit I ...
- Helloworld和程序员人生
转:Helloworld和程序员人生 高中时期 10 PRINT "HELLO WORLD" 20 END 大学新生 program Hello(input, output) be ...
- STM8S和STM8L调试串口中断的注意点
1. STM8L串口中断注意点 在调试PM2.5传感器GP2Y1051的时候,发现在仿真的时候开始能够进行数据的接受,但是如果暂停之后就不能接受数据,其实只是接收了一次完整的数据. 问题程序 解决方法 ...
- jquery mobile将页面内容当成弹框进行显示
注:必须使用相对应版本的jquery mobile css.不然无法正常显示 <div data-role="page" id="pageone"> ...
- js 邮箱正则匹配
$(function(){ var valAttr = '746979855qq.com'; \-])+\.)+([a-zA-Z0-]{,})+$/; var tmpresult = mail_fil ...
- js本地存储解决方案(localStorage与userData)
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...