(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. 在mac上利用homebrew安装软件

    在mac经常需要安装一些软件,你可以通过app store下载,或者可以通过浏览袭搜索下载.这里介绍通过homebrew安装一些软件,它会自动为你下载一些软件的相关依赖,免去安装的烦恼. 首先我们需要 ...

  2. object- c 字符串操作

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  3. Android组件间的数据传输

    组件我们有了,那么我们缺少一个组件之间传递信息的渠道.利用Intent做载体,这是一个王道的做法.还有呢,可以利用文件系统来做数据共享.也可以使用Application设置全局数据,利用组件来进行控制 ...

  4. web第一节课 sql 数据库连接 查询

    1.数据库连接语句 <connectionStrings> <add name="yhotel" connectionString="Database= ...

  5. uva 10154 贪心+dp

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  6. hdu1233(最小生成树)

    Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能 ...

  7. Bencode编码解析的C++实现

    Ben编码的基本规则 B编码中有4种类型:字符串.整型.列表.字典. 字符串 字符串的编码格式为:<字符串的长度>:<字符串>,其中<>括号中的内容为必需.例如,有 ...

  8. Integer和int的详细比较(转)

    Integer与int的区别我们耳熟详的有两点:1.Integer是int的包装类.2.Integer的默认初始值是null,而int的默认初试值是0. 下面通过代码进行详细比较. public cl ...

  9. javascript 不用ajax 用 iframe 子域名下做到ajax post数据

    最近在一个项目中遇到了ajax跨域的问题,情况如下.有三个域名分别是 a.xx.com b.xx.com c.xx.com 这三个域名都会用用ajax post方式相互读取数据.文笔不好, 不写了妈蛋 ...

  10. 关于PHP伪静态Rewrite设置

    Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则 表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等   一.Apache配置:   1.支持httpd ...