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