(1)一个产生多个数据域(Report Count>1)的主项目之前有一个以上的【用途】时,每个【用途】与一个数据域依次对应,如果数据域个数(Report Count)超过【用途】的个数,则剩余的数据域都对应于最后一个【用途】。

(2)Usage、Usage Minimum和Usage Maximum项目关系

这3个项目输入Local类型项目。

Usage项目和Global类型的Usage Page项目协同描述项目或集合的功能。

一个报表可以指定一个Usage给许多个Report Count(数据域)   ,或是指定不同的Usage给每一个Report Count(数据域)。如果一个报表项目之前有一个Usage,此Usage应用到该项目的所有数据域(Report Count )。如果一个报表项目之前有一个以上的Usage,每一个Usage应用到一个数据域(Report Count ),Usage与数据域(Report Count )是按顺序结合的。

例如下面报表描述符的一个局部,报表含有2个输入字节,即两个数据域(Report Count = 2),第一个字节的用法是x,第2个字节是y。

Report Size (8)

Report Count (2)

Usage (x)

Usage (y)

Input (Data, Variable, Absolute)

如果一个报表项目之前有一个以上的Usage,而且数据域(Report Count )的数目多于Usage的数目,每一个Usage与一个数据域(Report Count )对应,最后一个Usage则应用到所有剩余的数据域(Report Count )。

例如在下面报表包含16个字节输入数据,第一个字节对应用法x,第2个字节对应用法y,剩余的14个字节对应‘厂商定义’的用法。

Usage (x)

Usage (y)

Usage (Vendor defined)         //厂商定义

Report Size (8)

Report Count (16)

Input (Data, Variable, Absolute)

Usage Minimum和Usage Maximum可以指定一个 Usage给多个数据域(Report Count )或是数组项目。将从Usage Minimum到Usgae Maximun定义的用法顺序对应到多个数据域(Report Count )中。

例如在一个键盘描述符中定义的标准键盘的左、右修饰键的输入项目中,使用一个字节的8位分别输入键盘的左、右Ctrl键、Shift键、Alt键和GUI键,从HID Usage tables文档中的第10节可以查到关于键盘用法的定义,其中上述8个修饰键的用法定义值为224到231。以下是报表描述符的修饰键部分描述。

Usage Page (1)              ; 1 = Generic Desktop Controls

Usage (6)                   ; 6 = Keyboard

Collection (1)              ; 1 = Application

Usage Page (7)              ; 7 = Keyboard/Keypad

Usage Minimum (224)

Usage Maximum (231)

Logical Minimum (0)

Logical Maximum (1)

Report Size (1)

Report Count (8)

Input (Data, Variable, Absolute)

……

(3)Usage Minimum和Usage Maximum 对于Sel和DF的不同之处?

Usage Minimum和Usage Maximum对于Sel表示,Array(数组中的每个值,数据域(Report Count )中的每个值)可以在Usage Minimum和Usage Maximum之间取值,不是一一对应的关系。

Usage Minimum和Usage Maximum对于DF,则表示数据域(Report Count )中的每个个数与Usage Minimum和Usage Maximum中定义的用法一一对应,即一个Report Count对应一个用途(Usage).至于对应规则(1)和(2)中已经详解的阐明了。请拜读!

Usage、Usage Minimum和Usage Maximum项目详解的更多相关文章

  1. eclipse里面构建maven项目详解(转载)

    本文来源于:http://my.oschina.net/u/1540325/blog/548530 eclipse里面构建maven项目详解 1       环境安装及分配 Maven是基于项目对象模 ...

  2. Redis 配置文件 redis.conf 项目详解

    Redis.conf 配置文件详解 # [Redis](http://yijiebuyi.com/category/redis.html) 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, ...

  3. Mac下Intellij IDea发布Web项目详解一

    Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...

  4. Mac下Intellij IDea发布Java Web项目详解五 开始测试

    测试前准备工作目录 Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intell ...

  5. JAVA Eclipse使用Maven构建web项目详解(SSM框架)

    tips: 启动项目后,welcome-file的链接即为测试用例 部署maven web项目 Eclipse使用Maven构建web项目详解 pom.xml添加webapp依赖: <depen ...

  6. 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+SpringMVC项目详解

    http://blog.csdn.net/noaman_wgs/article/details/53893948 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+Spri ...

  7. [转帖](整理)GNU Hurd项目详解

    (整理)GNU Hurd项目详解 http://www.ha97.com/3188.html 发表于: 开源世界 | 作者: 博客教主 标签: GNU,Hurd,详解,项目 Hurd原本是要成为GNU ...

  8. tomcat通过tomcat 安装根目录下的conf-Catalina-localhost目录发布项目详解

    tomcat通过conf-Catalina-localhost目录发布项目详解   Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目 ...

  9. Vue.js项目详解

    还是以Blog项目来讲解,最近我本人利用闲暇时间,以博客作为参考学习一些新的技术并尝试之前没有尝试过的思路来玩玩. 技术看似枯燥,但是带有一个目的来学,你会发现还是蛮有趣的. 主要实践的就是前后端分离 ...

随机推荐

  1. DataGuard体系结构

    一.DataGuard总体结构 总体目标 1.   描述计划和非计划停机的不同因数 2.   DataGuard的主要组件 3.   物理以及逻辑DataGuard的异同 4.   建立DataGua ...

  2. 在SQL中用正则表达式替换html标签

    由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉.当然我可以通过写一个程序去修改,那毕竟有点麻烦.直接在查询分析器中执行,但是MS SQL Server并没有 ...

  3. SCGHR_存储过程(eSP_IDChangeStart)_政治面貌为什么不能正确更新

    1.问题描述:该SP中姓名,工号能够顾正确修改,但是政治面貌不能,为什么? 2.问题定位:那么该SP中其他设置都是正确的,就不要浪费时间看SP的其他设置,错误源就在 政治面貌 这一小块中. 3.修改: ...

  4. jquery animate

    $(".logo").animate( { opacity: .25, //将不透明度逐渐变成.25 height: 0 //高度逐渐变成0 }, { duration: 1000 ...

  5. Android TabActivity之感叹

    (一)前言 在以前一篇帖子讲ams的时候,提了一下TabActivity.当时说它比较特殊就没有下文了,今天重发一篇帖子,跟大家探讨一下TabActivity. 做个假定先: 比如我们最外面的Acti ...

  6. struts2,hibernate,spring整合笔记(4)--struts与spring的整合

    饭要一口一口吃,程序也要一步一步写, 很多看起来很复杂的东西最初都是很简单的 下面要整合struts和spring spring就是我们的管家,原来我们费事费神的问题统统扔给她就好了 先写一个测试方法 ...

  7. Gamit的安装

    --2017-1-6修正 我这里用的是Gamit10.5,系统是Ubunt 14. 1:获取root权限(仅针对装好Ubunt后没有修改过root密码的用户,如果修改过密码,但是忘掉了,则请进入单用户 ...

  8. CSS元素分类及区别

    元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为“盒子”).但是不同的元素显示的方式会有所不同,例如<div>和<span>就不同,而&l ...

  9. [php基础]记录PHP错误日志 display_errors与log_errors的区别

    display_errors 错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利.推荐关闭此选项. display ...

  10. Linux文件和目录操作管理命令

    1.pwd:显示工作目录路径 -p:显示实际物理路径 -l:显示链接路径 2.cd:更改工作目录路径 cd:进入用户主目录 cd~:进入用户主目录 cd-:返回进入此目录之前所在的目录 cd..:返回 ...