zoukankan      html  css  js  c++  java
  • 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, 

    }

  • 相关阅读:
    Command Line Tools for win32
    鼠标快速复制粘帖工具!
    IBM T系列笔记本安装2003未知设备问题!
    拔智齿!痛苦磨难中!
    I am a hero!
    vim学习笔记!
    产生数
    NumPy矩阵运算
    1130:找第一个只出现一次的字符
    小A与小姐姐给气球涂色[dp + 快速幂]
  • 原文地址:https://www.cnblogs.com/AlwaysOnLines/p/5085211.html
Copyright © 2011-2022 走看看