HIDInputReportEvent
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
备注: 此特性在 Web Worker(不包括共享 Web Worker)中可用。
WebHID API 的 HIDInputReportEvent 接口会在任何关联的 HID 设备接收到输入报告时,被传递给 HIDDevice 的 inputreport 事件。
实例属性
此接口从其父接口 Event 继承属性。
HIDInputReportEvent.data只读 实验性-
包含来自于输入报告数据的
DataView,如果 HID 接口使用报告 ID,则不包含reportId。 HIDInputReportEvent.device只读 实验性-
表示发送输入报告的 HID 接口的
HIDDevice实例 HIDInputReportEvent.reportId只读 实验性-
此报告的单字节标识前缀,如果 HID 接口不使用报告 ID,则返回 0。
实例方法
此接口从其父接口 Event 继承方法。
示例
以下示例演示如何监听 inputreport 事件,该事件允许应用程序检测到 Joy-Con 右手柄设备上的哪个按钮被按下。你可以在文章连接到不常见的 HID 设备中看到更多示例和实时演示。
js
device.addEventListener("inputreport", (event) => {
const { data, device, reportId } = event;
// 处理 Joy-Con 右手柄设备和特定的报告 ID
if (device.productId !== 0x2007 && reportId !== 0x3f) return;
const value = data.getUint8(0);
if (value === 0) return;
const someButtons = { 1: "A", 2: "X", 4: "B", 8: "Y" };
console.log(`用户按下了 ${someButtons[value]}。`);
});
规范
| Specification |
|---|
| WebHID API> # dom-hidinputreportevent> |
浏览器兼容性
Loading…