chrome.hid

説明

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

権限

hid

DeviceFilter

プロパティ

  • productId

    number(省略可)

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

  • usage

    number(省略可)

    HID 使用 ID。HID 使用ページが一致する場合にのみオンになります。

  • usagePage

    number(省略可)

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

  • vendorId

    number(省略可)

    デバイスのベンダー ID。

GetDevicesOptions

プロパティ

  • フィルタ

    DeviceFilter[] 省略可

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

  • productId

    number(省略可)

    非推奨

    DeviceFilter.productId の設定に相当します。

  • vendorId

    number(省略可)

    非推奨

    DeviceFilter.vendorId の設定に相当します。

HidCollectionInfo

プロパティ

  • reportIds

    数値 []

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

  • usage

    数値

    ページで定義された用途 ID。

  • usagePage

    数値

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

HidConnectInfo

プロパティ

  • connectionId

    数値

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

HidDeviceInfo

プロパティ

  • コレクション

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

  • deviceId

    数値

    不透明デバイスの ID。

  • maxFeatureReportSize

    数値

    トップレベル コレクションの最大特徴レポートサイズ。

  • maxInputReportSize

    数値

    トップレベル コレクションの最大入力レポートサイズ。

  • maxOutputReportSize

    数値

    トップレベル コレクションの最大出力レポートサイズ。

  • productId

    数値

    商品 ID。

  • productName

    文字列

    Chrome 46 以降

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

  • reportDescriptor

    ArrayBuffer

    RAW デバイス レポート記述子(Windows では利用できません)。

  • serialNumber

    文字列

    Chrome 46 以降

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

  • vendorId

    数値

    ベンダー ID。

Methods

connect()

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

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

パラメータ

戻り値

  • Chrome 117 以降

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

disconnect()

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

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

パラメータ

  • connectionId

    数値

    connect が返す connectionId

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 117 以降

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

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

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

パラメータ

  • オプション

    対象デバイスで検索するプロパティ。

  • callback

    関数(省略可)

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

    (devices: HidDeviceInfo[])=>void

戻り値

  • Promise<HidDeviceInfo[]>

    Chrome 117 以降

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

receive()

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

デバイスから次の入力レポートを受け取ります。

パラメータ

  • connectionId

    数値

    connect が返す connectionId

  • callback

    機能

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

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

    • reportId

      数値

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

    • data

      ArrayBuffer

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

receiveFeatureReport()

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

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

パラメータ

  • connectionId

    数値

    connect が返す connectionId

  • reportId

    数値

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

  • callback

    関数(省略可)

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

    (data: ArrayBuffer)=>void

    • data

      ArrayBuffer

      レポートデータ。デバイスから送信された場合は、レポート ID の接頭辞も含まれます。

戻り値

  • Promise<ArrayBuffer>

    Chrome 117 以降

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

send()

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

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

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

パラメータ

  • connectionId

    数値

    connect が返す connectionId

  • reportId

    数値

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

  • data

    ArrayBuffer

    レポートデータ。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 117 以降

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

sendFeatureReport()

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

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

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

パラメータ

  • connectionId

    数値

    connect が返す connectionId

  • reportId

    数値

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

  • data

    ArrayBuffer

    レポートデータ。

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 117 以降

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

イベント

onDeviceAdded

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

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

パラメータ

onDeviceRemoved

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

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

パラメータ

  • callback

    機能

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

    (deviceId: number)=>void

    • deviceId

      数値