chrome.hid

説明

接続された HID デバイスを操作するには、chrome.hid API を使用します。この API は、アプリのコンテキスト内から HID オペレーションへのアクセスを提供します。この API を使用すると、アプリはハードウェア デバイスのドライバとして機能できます。この API によって生成されたエラーは、runtime.lastError を設定し、関数の通常のコールバックを実行することで報告されます。この場合、コールバックの通常のパラメータは未定義になります。

権限

hid

DeviceFilter

プロパティ

  • productId

    number 省略可

    デバイスのプロダクト ID。ベンダー ID が一致する場合にのみチェックされます。

  • 用途

    number 省略可

    HID 使用状況識別子。HID 使用状況ページが一致する場合にのみチェックされます。

  • usagePage

    number 省略可

    HID 使用状況ページの識別子。

  • vendorId

    number 省略可

    デバイス ベンダー ID。

GetDevicesOptions

プロパティ

  • フィルタ

    DeviceFilter[] 省略可

    指定されたフィルタに一致するデバイスが返されます。フィルタリストが空の場合、アプリが権限を持っているすべてのデバイスが返されます。

  • productId

    number 省略可

    非推奨

    DeviceFilter.productId を設定するのと同じです。

  • vendorId

    number 省略可

    非推奨

    DeviceFilter.vendorId を設定するのと同じです。

HidCollectionInfo

プロパティ

  • reportIds

    number[]

    コレクションとその子に属するレポート ID を返します。

  • 用途

    数値

    ページ定義の使用状況識別子。

  • usagePage

    数値

    HID 使用状況ページの識別子。

HidConnectInfo

プロパティ

  • connectionId

    数値

    他のすべての関数でこの接続を識別するために使用される不透明な ID。

HidDeviceInfo

プロパティ

  • コレクション

    このデバイスのレポート記述子からの最上位のコレクション。

  • deviceId

    数値

    不透明デバイス ID。

  • maxFeatureReportSize

    数値

    最上位のコレクションの最大特徴レポート サイズ。

  • maxInputReportSize

    数値

    最上位のコレクションの最大入力レポート サイズ。

  • maxOutputReportSize

    数値

    最上位のコレクションの最大出力レポート サイズ。

  • productId

    数値

    商品 ID。

  • productName

    文字列

    Chrome 46 以降

    デバイスから読み取られたプロダクト名(利用可能な場合)。

  • reportDescriptor

    ArrayBuffer

    未加工のデバイス レポート記述子(Windows では使用できません)。

  • serialNumber

    文字列

    Chrome 46 以降

    デバイスから読み取られたシリアル番号(利用可能な場合)。

  • vendorId

    数値

    ベンダー ID。

メソッド

connect()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

通信用に HID デバイスへの接続を開きます。

パラメータ

戻り値

  • Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

disconnect()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

デバイスとの接続を解除します。この呼び出し後にデバイスでオペレーションを呼び出すことは安全ですが、効果はありません。

パラメータ

  • connectionId

    数値

    connect によって返される connectionId

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

接続されている HID デバイスを列挙します。

パラメータ

  • オプション

    ターゲット デバイスで検索するプロパティ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (devices: HidDeviceInfo[]) => void

戻り値

  • Promise<HidDeviceInfo[]>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)
: void

デバイスから次の入力レポートを受信します。

パラメータ

  • connectionId

    数値

    connect によって返される connectionId

  • callback

    関数

    callback パラメータは次のようになります。

    (reportId: number, data: ArrayBuffer) => void

    • reportId

      数値

      レポート ID。ない場合は 0

    • データ

      ArrayBuffer

      レポートデータとレポート ID 接頭辞(存在する場合)が削除されます。

receiveFeatureReport()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

デバイスから機能レポートをリクエストします。

パラメータ

  • connectionId

    数値

    connect によって返される connectionId

  • reportId

    数値

    レポート ID。ない場合は 0

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (data: ArrayBuffer) => void

    • データ

      ArrayBuffer

      レポート データ(デバイスから送信されたレポート ID 接頭辞を含む)。

戻り値

  • Promise<ArrayBuffer>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

send()

Promise
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

出力レポートをデバイスに送信します。

注: data にレポート ID の接頭辞を含めないでください。必要に応じて追加されます。

パラメータ

  • connectionId

    数値

    connect によって返される connectionId

  • reportId

    数値

    使用するレポート ID。存在しない場合は 0

  • データ

    ArrayBuffer

    レポートデータ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

sendFeatureReport()

Promise
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

デバイスに機能レポートを送信します。

注: data にレポート ID の接頭辞を含めないでください。必要に応じて追加されます。

パラメータ

  • connectionId

    数値

    connect によって返される connectionId

  • reportId

    数値

    使用するレポート ID。存在しない場合は 0

  • データ

    ArrayBuffer

    レポートデータ。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 117 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

イベント

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

デバイスがシステムに追加されたときに生成されるイベント。イベントは、デバイスにアクセスする権限を持つアプリと拡張機能にのみブロードキャストされます。権限は、インストール時またはユーザーがオプションの権限を承認したときに付与されている可能性があります(permissions.request を参照)。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (device: HidDeviceInfo) => void

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

デバイスがシステムから削除されたときに生成されるイベント。配信されるイベントについては、onDeviceAdded をご覧ください。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (deviceId: number) => void

    • deviceId

      数値