HIDDevice.sendReport()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
HIDDevice
インターフェイスの sendReport()
メソッドは、Output レポートを HID デバイスに送信します。
各レポート形式用にデバイスがサポートしている reportId
は、HIDDevice.collections
から取得できます。
構文
js
sendReport(reportId, data)
引数
reportId
-
8 ビットのレポート ID です。HID デバイスがレポート ID を使わない場合、
0
を送信します。 data
-
ArrayBuffer
,TypedArray
,DataView
のいずれかで表されるバイト列です。
返値
レポートの送信完了後 undefined
で解決する Promise
を返します。
例外
NotAllowedError
DOMException
-
何らかの理由でレポートの送信に失敗したとき投げられます。
例
この例は、Output レポートを用いて Joy-Con デバイスを鳴らす方法を示します。記事 Connecting to uncommon HID devices で他の例や動くデモを見ることができます。
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