HIDInputReportEvent

有限可用性

此功能不是基线,因为它在一些最广泛使用的浏览器中无法运行。

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在支持的浏览器中部分或全部可用。

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表

HIDInputReportEventWebHID API的接口,它传递给inputreport 事件,当从任何关联的 HID 设备接收到输入报告时,该事件将由 HIDDevice 传递。

Event HIDInputReportEvent

实例属性

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

HIDInputReportEvent.data 只读 实验性

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

HIDInputReportEvent.device 只读 实验性

一个HIDDevice 实例,表示发送输入报告的 HID 接口。

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

浏览器兼容性

BCD 表仅在浏览器中加载