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

瀏覽器相容性