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 |
浏览器兼容性
BCD tables only load in the browser