HIDDevice: collections 属性
HIDDevice
接口的 collections
只读属性返回一个报表格式数组
值
一个报表格式数组。每个条目包含以下内容
usagePage
-
表示与该集合关联的 HID 使用的用法页面组件的整数。顶级集合的用法用于识别设备类型。
标准 HID 用法值可以在 HID 用法表 文档中找到
usage
-
表示与该集合关联的 HID 使用的用法 ID 组件的整数。
type
-
一个 8 位值,表示集合类型,它描述了分组项之间的不同关系。以下列出的其中之一:
0x00
-
物理(轴组)
0x01
-
应用程序(鼠标、键盘)
0x02
-
逻辑(相互关联的数据)
0x03
-
报表
0x04
-
命名数组
0x05
-
用法切换
0x06
-
用法修改
0x07
到0x7F
-
保留供将来使用
0x80
到0xFF
-
供应商定义
有关这些类型的更多信息可以在 设备类定义 文档中找到。
children
-
子集合数组,采用与顶级集合相同的格式。
inputReports
-
inputReport
项数组,代表该集合中描述的各个输入报表。 outputReports
-
outputReport
项数组,代表该集合中描述的各个输出报表。 featureReports
-
featureReport
项数组,代表该集合中描述的各个特征报表。
示例
以下示例演示了在返回 collections
属性后如何访问各个元素。您可以在文章 连接到不常见的 HID 设备 中查看更多示例和实时演示。
js
for (const collection of device.collections) {
// A HID collection includes usage, usage page, reports, and subcollections.
console.log(`Usage: ${collection.usage}`);
console.log(`Usage page: ${collection.usagePage}`);
for (const inputReport of collection.inputReports) {
console.log(`Input report: ${inputReport.reportId}`);
// Loop through inputReport.items
}
for (const outputReport of collection.outputReports) {
console.log(`Output report: ${outputReport.reportId}`);
// Loop through outputReport.items
}
for (const featureReport of collection.featureReports) {
console.log(`Feature report: ${featureReport.reportId}`);
// Loop through featureReport.items
}
// Loop through subcollections with collection.children
}
规范
规范 |
---|
WebHID API # dom-hiddevice-collections |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。