HID局部条目
local item标记定义控件的特征。这些项目不会影响到下一个main item。如果一个主项定义了多个控件,则它前面可能有几个类似的local item。例如,一个input item可能有几个与其关联的usage item,每个控件一个。
Usage、 Usage Minimum 和 Usage Maximum 项目
这3个项目输入Local类型项目。
Usage项口和Global类型的Usage Page项口协同描述项口或集合的功能。
一个报表可以指定一个Usage给许多个控制,或是指定不同的Usage给每一个控制。如果一个报表项目之前有了一个Usage,此Usage应用到该项目的所有控制。如果一个报表项目之前有一个以上的Usage,每一个Usage应用到一个控制,Usage与控制是按顺序结合的。
例如下面报表描述符的一个局部报表含有2个输入字节,笫一个字节的用法是x, 第2个字节是y。
ReportSize(8)
ReportCount(2)
Usage(x)
Usage(y)
Input(Data,Variable, Absolute)
如果一个报表项目之前有一个以上的Usage,而且控制的数目多于Usage的数目,每个Usage与一个控制对应,最后一个Usage则应用到所有剩余的控制。
例如在下面报表包含16个字节输入数据,第一个字节对应用法x,第2个字节对应用法y,剩余的14个字节对应厂商定义的用法。
Usage(x)
Usage(y)
Usage(Vendor defined)
ReportSize (8)
ReportCount (16)
Input(Data, Variable, Absolute)
Usage Minimum和Usage Maximum可以指定一个Usage给多个控制或是数组项目、将从Usage Minimum到Usgae Maximun定义的用法顺序对应到多个控制中。
例如在一个键盘描述符中定义的标准键盘的左、右修饰键的输入项目中,使用一个字节的8位分别输入键盘的左、右Ctrl键、Shift键、Alt键和GUI键,从HID Usage tables 文档中的第10节可以查到关于键盘用法的定义,其中上述8个修饰键的用法定义值为224到231。以下是报表描述符的修饰键部分描述。
Usage Page ;1= Generic Desktop Controls
Usage (6) ;6 =Keyboard
Collection(1);1=Application
Usage Page⑺;7=keyboard
Usage Minimum (224)
Usage Maximum (231)
Logical Minimum (0)
Logical Maximum (1)
Report Size (1)
Report Count (8)
Input (Data, Variable,Absolute)