説明
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()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
通信のために HID デバイスへの接続を開きます。
パラメータ
-
deviceId
数値
開くデバイスの
HidDeviceInfo.deviceId
。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(connection: HidConnectInfo) => void
戻り値
-
Promise<HidConnectInfo>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
)
デバイスとの接続を解除します。この呼び出し後にデバイスでオペレーションを呼び出すことは安全ですが、効果はありません。
パラメータ
-
connectionId
数値
connect
が返すconnectionId
。 -
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 117 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
getDevices()
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()
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()
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()
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
をご覧ください)。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(device: HidDeviceInfo) => void
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
デバイスがシステムから削除されたときに生成されるイベント。配信されるイベントについては、onDeviceAdded
をご覧ください。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(deviceId: number) => void
-
deviceId
数値
-