HIDInputReportEvent - Web API | MDN

インスタンスプロパティ

このインターフェイスには、Event から継承したプロパティもあります。

HIDInputReportEvent.data 読取専用 Experimental

Input レポートから読み取ったデータが入った DataView です。HID インターフェイスがレポート ID を用いている場合、reportId は含まれません。

HIDInputReportEvent.device 読取専用 Experimental

この Input レポートを送信した HID インターフェイスを表す HIDDevice のインスタンスです。

HIDInputReportEvent.reportId 読取専用 Experimental

レポートを識別する 1 バイトの接頭辞、もしくは HID インターフェイスがレポート ID を用いていない場合 0 です。

インスタンスメソッド

このインターフェイスは、親の Event からメソッドを継承しています。

この例では、アプリケーションが Joy-Con Right デバイスでどのボタンが押されたかを検出するために inputReport を監視します。記事 Connecting to uncommon HID devices で、他の例や動くデモを見ることができます。

js

device.addEventListener("inputreport", (event) => {
  const { data, device, reportId } = event;

  // Joy-Con Right デバイスで、かつ特定のレポート 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(`ユーザーがボタン ${someButtons[value]} を押しました。`);
});

仕様書

Specification
WebHID API
# dom-hidinputreportevent

ブラウザーの互換性

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.