HIDDevice:sendReport() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
备注: 此特性在 Web Worker(不包括共享 Web Worker)中可用。
HIDDevice
接口的 sendReport()
方法发送 HID 设备的输出报告。
可以从 HIDDevice.collections
中检索此设备支持的每种报告格式的 reportId
。
语法
js
sendReport(reportId, data)
参数
reportId
-
一个 8 位的报告 ID。如果设备没有报告 ID,则返回
0
。 data
-
ArrayBuffer
、TypedArray
或DataView
形式的字节序列。
返回值
一个 Promise
,会在报告发送时兑现为 undefined
。
异常
NotAllowedError
DOMException
-
如果因任何原因尝试发送报告失败,则抛出异常。
示例
以下示例演示如何使 Joy-Con 设备振动。你可以在文章连接到不常见的 HID 设备中看到更多示例和实时演示。
js
// 首先,发送一条命令以启用振动。
// 魔数序列来自 https://github.com/mzyy94/joycon-toolweb
const enableVibrationData = [1, 0, 1, 64, 64, 0, 1, 64, 64, 0x48, 0x01];
await device.sendReport(0x01, new Uint8Array(enableVibrationData));
// 然后,发送一条命令以使 Joy-Con 设备震动。
// 实际的字节序列在示例中提供。
const rumbleData = [
/* … */
];
await device.sendReport(0x10, new Uint8Array(rumbleData));
规范
Specification |
---|
WebHID API # dom-hiddevice-sendreport |
浏览器兼容性
BCD tables only load in the browser