Limited support 一部のブラウザのみ対応。使用時はサポート状況を確認すること。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
HID
実験的
89
89
connect_event
実験的

HID インターフェイスの connect イベントは、ユーザーエージェントが HID デバイスに接続した時発火します。

89
89

HID インターフェイスの disconnect イベントは、ユーザーエージェントが HID デバイスを切断した時発火します。

89
89
getDevices
実験的

HID インターフェイスの getDevices() メソッドは、ユーザーがこれまでに HID.requestDevice の呼び出しに応じてアクセスを許可した接続中の HID デバイスのリストを取得します。

89
89
requestDevice
実験的

HID インターフェイスの requestDevice() メソッドは、HID デバイスへのアクセスを要求します。

89
89
worker_support
実験的

労働者で利用可能

131
131

WebHID API の HIDConnectionEvent インターフェイスは、HID の接続イベントを表します。このイベント型は、Input レポートを受信した際に HID.connectevent や HID.disconnectevent に渡される型です。

89
89
device
実験的

HIDConnectionEvent インターフェイスの読み取り専用プロパティ device は、この接続イベントに関係する HIDDevice のインスタンスを返します。

89
89

HIDConnectionEvent() コンストラクターは、新しい HIDConnectionEvent オブジェクトを生成します。通常は、イベントは Input レポートを受信した際に生成されるため、このコンストラクターは使用されません。

89
89
worker_support
実験的

労働者で利用可能

131
131
HIDDevice
実験的

WebHID API の HIDDevice インターフェイスは HID デバイスを表します。デバイスに関する情報にアクセスするためのプロパティと、接続を開いたり閉じたりするメソッド、そしてレポートの送受信を行うメソッドを提供します。

89
89
close
実験的

HIDDevice インターフェイスの close() メソッドは、HID デバイスとの接続を閉じます。

89
89
collections
実験的

HIDDevice インターフェイスの読み取り専用プロパティ collections は、レポート形式の配列を返します。

89
89
forget
実験的

HIDDevice インターフェイスの forget() メソッドは、HID デバイスとの接続を閉じ、デバイスを忘れます。

100
100

HIDDevice インターフェイスの inputreport イベントは、HID デバイスから新しいレポートを受信した時に発火します。

89
89
open
実験的

HIDDevice の open() メソッドは、オペレーティングシステムに HID デバイスを開くことを要求します。

89
89
opened
実験的

HIDDevice インターフェイスの読み取り専用プロパティ opened は、HIDDevice への接続が開かれていてデータを転送する準備ができているとき true を返します。

89
89
productId
実験的

HIDDevice インターフェイスの読み取り専用プロパティ productId は、接続された HID デバイスのプロダクト ID を返します。

89
89
productName
実験的

HIDDevice インターフェイスの読み取り専用プロパティ productName は、接続された HID デバイスの製品名を返します。

89
89

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

89
89

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

89
89
sendReport
実験的

HIDDevice インターフェイスの sendReport() メソッドは、Output レポートを HID デバイスに送信します。

89
89
vendorId
実験的

HIDDevice インターフェイスの読み取り専用プロパティ vendorId は、接続された HID デバイスのベンダー ID を返します。これにより、デバイスの製造元を識別します。

89
89
worker_support
実験的

労働者で利用可能

131
131

WebHID API の HIDInputReportEvent インターフェイスは、割り当てられた HID デバイスのいずれかから Input レポートを受信した時、HIDDevice.inputreport_event に渡されます。

89
89
data
実験的

HIDInputReportEvent インターフェイスの data プロパティは、Input レポートから読み取ったデータが入った DataView を返します。HID インターフェイスがレポート ID を用いている場合、reportId は含まれません。

89
89
device
実験的

HIDInputReportEvent インターフェイスの device プロパティは、この Input レポートを送信した HID インターフェイスを表す HIDDevice のインスタンスを返します。

89
89
reportId
実験的

HIDInputReportEvent インターフェイスの reportId プロパティは、レポートを識別する 1 バイトの接頭辞、もしくは HID インターフェイスがレポート ID を用いていない場合 0 を返します。

89
89
worker_support
実験的

労働者で利用可能

131
131
hid
実験的

Navigator.hid は読み取り専用のプロパティで、HID オブジェクトを返します。このオブジェクトは、HID デバイスへの接続およびアタッチした HID デバイスのリストアップを行うメソッドと、HID デバイスの接続を扱うイベントハンドラーを提供します。

89
89
hid
実験的

WorkerNavigator.hid 読み取り専用プロパティは、HID デバイス接続にアクセスするためのメソッドと、ユーザー エージェントがデバイスに接続または切断するときに発生するイベントを提供する HID オブジェクトを返します。

131
131
その他
html.elements.iframe.allow.hid
実験的
89
89
89

HTTP の Permissions-Policy ヘッダーの hid ディレクティブは、現在の文書が WebHID API を使用して、代替キーボードやゲームパッドなどの一般的ではない、あるいは珍しいヒューマンインターフェイス機器に接続することを許可するかどうかをコントロールします。

89
89
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)
注釈 4件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • 専用ワーカーと WebExtension サービスワーカーであり、共有ワーカーと非 WebExtension サービスワーカーではない。
  • WebExtension サービスワーカーのみ。
削除済み
  • このバージョンで機能が削除されました (131)

基本構文

JAVASCRIPT
const [device] = await navigator.hid.requestDevice({
  filters: [{ vendorId: 0x1234 }]
});
await device.open();
device.addEventListener('inputreport', (e) => {
  console.log('Report:', new Uint8Array(e.data.buffer));
});

実務での使いどころ

  • WebHID の活用

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

注意点

  • 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。

アクセシビリティ

  • スクリーンリーダーでの読み上げを確認すること。