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 |
浏览器兼容性
加载中…