chrome.hid

説明

chrome.hid API を使用して、接続された HID デバイスを操作します。この 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

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 117 以降

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

getDevices()

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

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

パラメータ

  • オプション

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

  • callback

    function 省略可

    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

    function 省略可

    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

    function 省略可

    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

    function 省略可

    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

      数値