chrome.hid

説明

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

権限

hid

DeviceFilter

プロパティ

  • productId

    数値(省略可)

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

  • 用途

    数値(省略可)

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

  • usagePage

    数値(省略可)

    HID 使用状況ページ ID。

  • vendorId

    数値(省略可)

    デバイス ベンダー ID。

GetDevicesOptions

プロパティ

  • フィルタ

    DeviceFilter[] 省略可

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

  • productId

    数値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    DeviceFilter.productId の設定と同等です。

  • vendorId

    数値(省略可)

    <ph type="x-smartling-placeholder"></ph> 非推奨

    DeviceFilter.vendorId の設定と同等です。

HidCollectionInfo

プロパティ

  • reportIds

    数値 []

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

  • 用途

    数値

    ページ定義の使用状況 ID。

  • usagePage

    数値

    HID 使用状況ページ ID。

HidConnectInfo

プロパティ

  • connectionId

    数値

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

HidDeviceInfo

プロパティ

  • コレクション

    このデバイスのレポート記述子からのトップレベルのコレクション。

  • deviceId

    数値

    不透明なデバイス ID。

  • maxFeatureReportSize

    数値

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

  • maxInputReportSize

    数値

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

  • maxOutputReportSize

    数値

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

  • productId

    数値

    プロダクト ID。

  • productName

    文字列

    Chrome 46 以降

    デバイスから読み取られた製品名(利用可能な場合)。

  • reportDescriptor

    ArrayBuffer

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

  • serialNumber

    文字列

    Chrome 46 以降

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

  • vendorId

    数値

    ベンダー ID。

メソッド

connect()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

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

パラメータ

戻り値

  • Promise&lt;HidConnectInfo&gt;

    Chrome 117 以降

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

disconnect()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

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

パラメータ

  • connectionId

    数値

    connect から返される connectionId

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <void>

    Chrome 117 以降

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

getDevices()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

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

パラメータ

  • オプション

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

  • callback

    関数(省略可)

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

    (devices: HidDeviceInfo[]) => void

戻り値

  • Promise&lt;HidDeviceInfo[]&gt;

    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

    • データ

      ArrayBuffer

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

receiveFeatureReport()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

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

パラメータ

  • connectionId

    数値

    connect から返される connectionId

  • reportId

    数値

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

  • callback

    関数(省略可)

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

    (data: ArrayBuffer) => void

    • データ

      ArrayBuffer

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

戻り値

  • Promise<配列バッファ>

    Chrome 117 以降

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

send()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

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

パラメータ

  • connectionId

    数値

    connect から返される connectionId

  • reportId

    数値

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

  • データ

    ArrayBuffer

    レポートデータ。

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <void>

    Chrome 117 以降

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

sendFeatureReport()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

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

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

パラメータ

  • connectionId

    数値

    connect から返される connectionId

  • reportId

    数値

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

  • データ

    ArrayBuffer

    レポートデータ。

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <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

      数値