(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. H - Antenna Placement- hdu 3020(二分图匹配)

    题意:每个 ‘*’都需要一个1*2的东西覆盖,问最少需要多少个1*2的东西来覆盖这些‘*’ 分析:只需要求出来最多有多少个完全覆盖的,然后加上那些不能被完全覆盖的点即可..把G题的代码随便修改了一下就 ...

  2. Py3快速下载地址

    pip3.exe install 包名称 -i  http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com

  3. 苹果iOS操作系统整体架构层次讲解

     iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch ...

  4. 双slave的server_uuid同样问题

    早上做数据迁移,部署完slave2,发现3台机子的日志狂刷: 旧slave: 2014-05-29 14:35:35 996 [Note] Slave: received end packet fro ...

  5. Zend框架2入门(一) (转)

    By Rob Allen, www.akrabat.com 修订0.1.2文件版权所有? 2011本教程的目的是给创建一个简单的数据库的介绍使用Zend Framework 2驱动的应用程序使用模型 ...

  6. struts2,hibernate,spring整合笔记(1)

    今天终于配置好了ssh框架的整合,记录下过程供参考 环境:window8.1,jdk1.7 ,带有javaee的eclipse,也就是说要能发布web项目,TOMCAT服务器,tomcat配置涉及到环 ...

  7. 【iOS问题记录】关于UITableViewCell的高度、填充

    创建了继承自UITableViewCell的类,在创建该类的同时创建了.xib文件,在cell中填充UIImageView,其frame根据cell的frame调整.在.m中添加以下方法: -(id) ...

  8. Mybatis插入语句useGeneratedKeys="true"的用法

    <!-- 插入新的问题件 --> <!-- useGeneratedKeys="true"把新增加的主键赋值到自己定义的keyProperty(id)中 --&g ...

  9. pbxproj文件冲突解决办法

    企业开发经常会遇到project.pbxproj文件冲突的问题 project.pbxproj文件主要包含了以下几项主要信息 工程文件关联信息,如PBXBuildFile.PBXFileReferen ...

  10. JAVA小项目之五子棋

    五子棋V1.0 功能: 人人对战,人机对战(初级) 记录双方分数: 主要知识点: 二维坐标系中,各方向坐标的关系及规律. 效果图: 主框架类: package com.gxlee.wzq; /** * ...