HIDInputReportEvent

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

注意:此功能在 Web Workers 中可用,但 共享 Web Workers 除外。

HIDInputReportEvent 接口是 WebHID API 的一部分,当从任何关联的 HID 设备接收到输入报告时,它会被传递给 HIDDeviceinputreport 事件。

Event HIDInputReportEvent

实例属性

此接口还继承了 Event 的属性。

HIDInputReportEvent.data 只读 实验性

一个 DataView,其中包含来自输入报告的数据,如果 HID 接口使用报告 ID,则不包括 reportId

HIDInputReportEvent.device 只读 实验性

代表发送输入报告的 HID 接口的 HIDDevice 实例。

HIDInputReportEvent.reportId 只读 实验性

此报告的一个字节标识前缀,如果 HID 接口不使用报告 ID,则为 0。

实例方法

此接口继承自其父接口 Event 的方法。

示例

以下示例演示了如何监听 inputReport 事件,该事件将允许应用程序检测 Joy-Con Right 设备上哪个按钮被按下。您可以在文章 连接到不常见的 HID 设备 中查看更多示例和实时演示。

js
device.addEventListener("inputreport", (event) => {
  const { data, device, reportId } = event;

  // Handle only the Joy-Con Right device and a specific report 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(`User pressed button ${someButtons[value]}.`);
});

规范

规范
WebHID API
# dom-hidinputreportevent

浏览器兼容性