HIDDevice:inputreport 事件
注意:此功能在 Web Workers 中可用,但 共享 Web Workers 除外。
inputreport 事件是 HIDDevice 介面的一部分,當從 HID 裝置接收到新報告時觸發。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("inputreport", (event) => { })
oninputreport = (event) => { }
事件型別
一個 HIDInputReportEvent。繼承自 Event。
事件屬性
此介面還繼承了 Event 的屬性。
HIDInputReportEvent.data只讀-
一個
DataView,包含來自輸入報告的資料,如果 HID 介面使用報告 ID,則不包含reportId。 HIDInputReportEvent.device只讀-
代表傳送輸入報告的 HID 介面的
HIDDevice例項。 HIDInputReportEvent.reportId只讀-
此報告的一位元組標識字首,如果 HID 介面不使用報告 ID,則為 0。
示例
以下示例演示瞭如何監聽 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-hiddevice-oninputreport |
瀏覽器相容性
載入中…