Beschreibung
Verwenden Sie die chrome.hid
API, um mit verbundenen HID-Geräten zu interagieren. Diese API bietet Zugriff auf HID-Vorgänge im Kontext einer App. Mit dieser API können Apps als Treiber für Hardwaregeräte fungieren. Fehler, die von dieser API generiert werden, werden gemeldet, indem runtime.lastError
festgelegt und der reguläre Callback der Funktion ausgeführt wird. Die regulären Parameter des Rückrufs sind in diesem Fall nicht definiert.
Berechtigungen
hid
Typen
DeviceFilter
Attribute
-
productId
number optional
Geräte-Produkt-ID. Sie wird nur geprüft, wenn die Anbieter-ID übereinstimmt.
-
Verwendung
number optional
HID-Nutzungs-ID, wird nur geprüft, wenn die HID-Nutzungsseite übereinstimmt.
-
usagePage
number optional
HID-Nutzungsseiten-ID.
-
vendorId
number optional
Gerätehersteller-ID.
GetDevicesOptions
Attribute
-
Filter
DeviceFilter[] optional
Es wird ein Gerät zurückgegeben, das einem der angegebenen Filter entspricht. Bei einer leeren Filterliste werden alle Geräte zurückgegeben, für die die App eine Berechtigung hat.
-
productId
number optional
EingestelltEntspricht dem Festlegen von
DeviceFilter.productId
. -
vendorId
number optional
EingestelltEntspricht dem Festlegen von
DeviceFilter.vendorId
.
HidCollectionInfo
Attribute
-
reportIds
number[]
Berichts-IDs, die zur Sammlung und zu ihren untergeordneten Elementen gehören.
-
Verwendung
Zahl
Die von der Seite definierte Nutzungs-ID.
-
usagePage
Zahl
HID-Nutzungsseiten-ID.
HidConnectInfo
Attribute
-
connectionId
Zahl
Die undurchsichtige ID, die verwendet wird, um diese Verbindung in allen anderen Funktionen zu identifizieren.
HidDeviceInfo
Attribute
-
Sammlungen
Sammlungen der obersten Ebene aus den Berichtsdeskriptoren dieses Geräts.
-
deviceId
Zahl
Intransparente Geräte-ID.
-
maxFeatureReportSize
Zahl
Maximale Größe des Feature-Berichts für die Sammlung der obersten Ebene.
-
maxInputReportSize
Zahl
Maximale Größe des Eingabeberichts für die Sammlung auf oberster Ebene.
-
maxOutputReportSize
Zahl
Maximale Größe des Ausgabebereichs der Sammlung auf oberster Ebene.
-
productId
Zahl
Produkt-ID.
-
productName (Produktname)
String
Chrome 46 und höherDer Produktname, der vom Gerät gelesen wird, sofern verfügbar.
-
reportDescriptor
ArrayBuffer
Rohdaten-Geräteberichtsdeskriptor (nicht unter Windows verfügbar)
-
serialNumber
String
Chrome 46 und höherDie vom Gerät gelesene Seriennummer, sofern verfügbar.
-
vendorId
Zahl
Anbieter-ID.
Methoden
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Öffnen Sie eine Verbindung zu einem HID-Gerät für die Kommunikation.
Parameter
-
deviceId
Zahl
Die
HidDeviceInfo.deviceId
des Geräts, das geöffnet werden soll. -
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connection: HidConnectInfo) => void
-
Verbindung
-
Ausgabe
-
Promise<HidConnectInfo>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
Verbindung zu einem Gerät trennen Das Aufrufen von Vorgängen auf einem Gerät nach dem Aufrufen dieser Methode ist sicher, hat aber keine Auswirkungen.
Parameter
-
connectionId
Zahl
Die von
connect
zurückgegebeneconnectionId
. -
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Verbundene HID-Geräte auflisten.
Parameter
-
Optionen
Die Eigenschaften, nach denen auf Zielgeräten gesucht werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(devices: HidDeviceInfo[]) => void
-
Geräte
-
Ausgabe
-
Promise<HidDeviceInfo[]>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
Empfängt den nächsten Eingabebericht vom Gerät.
Parameter
-
connectionId
Zahl
Die von
connect
zurückgegebeneconnectionId
. -
callback
Funktion
Der Parameter
callback
sieht so aus:(reportId: number, data: ArrayBuffer) => void
-
reportId
Zahl
Die Berichts-ID oder
0
, falls keine vorhanden ist. -
Daten
ArrayBuffer
Die Berichtsdaten und das Präfix der Berichts-ID (falls vorhanden) werden entfernt.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
Fordern Sie einen Funktionsbericht vom Gerät an.
Parameter
-
connectionId
Zahl
Die von
connect
zurückgegebeneconnectionId
. -
reportId
Zahl
Die Berichts-ID oder
0
, falls keine vorhanden ist. -
callback
Funktion optional
Der Parameter
callback
sieht so aus:(data: ArrayBuffer) => void
-
Daten
ArrayBuffer
Die Berichtsdaten, einschließlich eines Präfixes für die Berichts-ID, falls das Gerät eines sendet.
-
Ausgabe
-
Promise<ArrayBuffer>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Senden Sie einen Ausgabebereicht an das Gerät.
Hinweis:Das Präfix der Berichts-ID darf nicht in data
enthalten sein. Sie wird bei Bedarf hinzugefügt.
Parameter
-
connectionId
Zahl
Die von
connect
zurückgegebeneconnectionId
. -
reportId
Zahl
Die zu verwendende Berichts-ID oder
0
, falls keine vorhanden ist. -
Daten
ArrayBuffer
Die Berichtsdaten.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Senden Sie einen Funktionsbericht an das Gerät.
Hinweis:Das Präfix der Berichts-ID darf nicht in data
enthalten sein. Sie wird bei Bedarf hinzugefügt.
Parameter
-
connectionId
Zahl
Die von
connect
zurückgegebeneconnectionId
. -
reportId
Zahl
Die zu verwendende Berichts-ID oder
0
, falls keine vorhanden ist. -
Daten
ArrayBuffer
Die Berichtsdaten.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
Ereignis, das generiert wird, wenn dem System ein Gerät hinzugefügt wird. Ereignisse werden nur an Apps und Erweiterungen übertragen, die die Berechtigung haben, auf das Gerät zuzugreifen. Die Berechtigung wurde möglicherweise bei der Installation oder als der Nutzer eine optionale Berechtigung akzeptiert hat (siehe permissions.request
) erteilt.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(device: HidDeviceInfo) => void
-
Gerät
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Ereignis, das generiert wird, wenn ein Gerät aus dem System entfernt wird. Unter onDeviceAdded
finden Sie Informationen dazu, welche Ereignisse bereitgestellt werden.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(deviceId: number) => void
-
deviceId
Zahl
-