HIDDevice.sendFeatureReport()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

HIDDevice インターフェイスの sendFeatureReport() メソッドは、HID デバイスに Feature レポートを送信します。Feature レポートは、HID デバイスとアプリケーションが標準化されていない HID データを交換するための方法です。

各レポート形式用にデバイスがサポートしている reportId は、HIDDevice.collections から取得できます。

構文

js
sendFeatureReport(reportId, data)

引数

reportId

8 ビットのレポート ID です。HID デバイスがレポート ID を使わない場合、0 を送信します。

data

ArrayBuffer, TypedArray, DataView のいずれかで表されるバイト列です。

返値

レポートの送信完了後 undefined で解決する Promise を返します。

例外

NotAllowedError DOMException

何らかの理由でレポートの送信に失敗したとき投げられます。

この例では、sendFeatureReport() によりデバイスを点滅させます。記事 Connecting to uncommon HID devices で他の例や動くデモを見ることができます。

js
const reportId = 1;
for (let i = 0; i < 10; i++) {
  // 消灯させます
  await device.sendFeatureReport(reportId, Uint32Array.from([0, 0]));
  await waitFor(100);
  // 点灯させます
  await device.sendFeatureReport(reportId, Uint32Array.from([512, 0]));
  await waitFor(100);
}

仕様書

Specification
WebHID API
# dom-hiddevice-sendfeaturereport

ブラウザーの互換性

BCD tables only load in the browser