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 durch Festlegen von runtime.lastError und Ausführen des regulären Callbacks der Funktion gemeldet. Die regulären Parameter des Callbacks sind in diesem Fall nicht definiert.
Berechtigungen
hidTypen
DeviceFilter
Attribute
-
productId
number optional
Produkt-ID des Geräts, 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
ID der HID-Nutzungsseite.
-
vendorId
number optional
Geräteanbieter-ID
GetDevicesOptions
Attribute
-
Filter
DeviceFilter[] optional
Es wird ein Gerät zurückgegeben, das einem der angegebenen Filter entspricht. Wenn die Filterliste leer ist, 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
Seitenbezogene Nutzungskennung.
-
usagePage
Zahl
ID der HID-Nutzungsseite.
HidConnectInfo
Attribute
-
connectionId
Zahl
Die opake ID, die verwendet wird, um diese Verbindung in allen anderen Funktionen zu identifizieren.
HidDeviceInfo
Attribute
-
Sammlungen
Sammlungen auf oberster Ebene aus den Berichtsdeskriptoren dieses Geräts.
-
deviceId
Zahl
Intransparente Geräte-ID.
-
maxFeatureReportSize
Zahl
Maximale Größe des Berichts zur maximalen Präsenz der Sammlung auf oberster Ebene.
-
maxInputReportSize
Zahl
Maximale Größe des Eingabeberichts der Sammlung auf oberster Ebene.
-
maxOutputReportSize
Zahl
Maximale Größe des Ausgabeberichts der Sammlung auf oberster Ebene.
-
productId
Zahl
Produkt-ID.
-
productName (Produktname)
String
Chrome 46 oder höherDer Produktname, der vom Gerät gelesen wurde, falls verfügbar.
-
reportDescriptor
ArrayBuffer
Deskriptor für den Rohgerätebericht (nicht unter Windows verfügbar).
-
serialNumber
String
Chrome 46 oder höherDie vom Gerät gelesene Seriennummer, falls verfügbar.
-
vendorId
Zahl
Anbieter-ID.
Methoden
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Verbindung zu einem HID-Gerät für die Kommunikation öffnen.
Parameter
-
deviceId
Zahl
Die
HidDeviceInfo.deviceIddes zu öffnenden Geräts. -
callback
function optional
Der Parameter
callbacksieht so aus:(connection: HidConnectInfo) => void
-
Verbindung
-
Ausgabe
-
Promise<HidConnectInfo>
Chrome 117 oder 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 Aufruf dieser Methode ist sicher, hat aber keine Auswirkungen.
Parameter
-
connectionId
Zahl
Die von
connectzurückgegebeneconnectionId. -
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 oder 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
function optional
Der Parameter
callbacksieht so aus:(devices: HidDeviceInfo[]) => void
-
Geräte
-
Ausgabe
-
Promise<HidDeviceInfo[]>
Chrome 117 oder 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
Den nächsten Eingabebericht vom Gerät empfangen.
Parameter
-
connectionId
Zahl
Die von
connectzurückgegebeneconnectionId. -
callback
Funktion
Der Parameter
callbacksieht 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>
Fordert einen Funktionsbericht vom Gerät an.
Parameter
-
connectionId
Zahl
Die von
connectzurückgegebeneconnectionId. -
reportId
Zahl
Die Berichts-ID oder
0, falls keine vorhanden ist. -
callback
function optional
Der Parameter
callbacksieht so aus:(data: ArrayBuffer) => void
-
Daten
ArrayBuffer
Die Berichtsdaten, einschließlich eines Berichts-ID-Präfixes, falls dieses vom Gerät gesendet wird.
-
Ausgabe
-
Promise<ArrayBuffer>
Chrome 117 oder 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>
Sende einen Ausgabebericht an das Gerät.
Hinweis: Geben Sie in data kein Präfix für die Berichts-ID an. Sie wird bei Bedarf hinzugefügt.
Parameter
-
connectionId
Zahl
Die von
connectzurückgegebeneconnectionId. -
reportId
Zahl
Die zu verwendende Berichts-ID oder
0, falls keine vorhanden ist. -
Daten
ArrayBuffer
Die Berichtsdaten.
-
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 oder 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>
Sende einen Funktionsbericht an das Gerät.
Hinweis: Geben Sie in data kein Präfix für die Berichts-ID an. Sie wird bei Bedarf hinzugefügt.
Parameter
-
connectionId
Zahl
Die von
connectzurückgegebeneconnectionId. -
reportId
Zahl
Die zu verwendende Berichts-ID oder
0, falls keine vorhanden ist. -
Daten
ArrayBuffer
Die Berichtsdaten.
-
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 oder 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 ein Gerät dem System hinzugefügt wird. Ereignisse werden nur an Apps und Erweiterungen übertragen, die Zugriff auf das Gerät haben. Die Berechtigung wurde möglicherweise bei der Installation oder beim Akzeptieren einer optionalen Berechtigung durch den Nutzer erteilt (siehe permissions.request).
Parameter
-
callback
Funktion
Der Parameter
callbacksieht 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 übermittelt werden.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(deviceId: number) => void
-
deviceId
Zahl
-