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 dienen. Von dieser API generierte Fehler werden gemeldet, indem runtime.lastError
festgelegt und der reguläre Callback der Funktion ausgeführt wird. Die regulären Parameter des Callbacks sind in diesem Fall nicht definiert.
Berechtigungen
hid
Typen
DeviceFilter
Attribute
-
productId
Nummer optional
Produkt-ID des Geräts: wird nur angekreuzt, wenn die Anbieter-ID übereinstimmt.
-
Nutzung
Nummer optional
HID-Nutzungs-ID; wird nur geprüft, wenn die HID-Nutzungsseite übereinstimmt.
-
usagePage
Nummer optional
ID der HID-Nutzungsseite.
-
vendorId
Nummer optional
Anbieter-ID des Geräts.
GetDevicesOptions
Attribute
-
Filter
DeviceFilter[] optional
Es wird ein Gerät zurückgegeben, das einem bestimmten Filter entspricht. Bei einer leeren Filterliste werden alle Geräte zurückgegeben, für die die App die Berechtigung hat.
-
productId
Nummer optional
EingestelltEntspricht der Einstellung
DeviceFilter.productId
. -
vendorId
Nummer optional
EingestelltEntspricht der Einstellung
DeviceFilter.vendorId
.
HidCollectionInfo
Attribute
-
reportIds
Nummer[]
Berichts-IDs, die zur Sammlung und ihren untergeordneten Elementen gehören.
-
Nutzung
Zahl
Seitendefinierte Nutzungs-ID.
-
usagePage
Zahl
ID der HID-Nutzungsseite.
HidConnectInfo
Attribute
-
connectionId
Zahl
Die intransparente ID, die zur Identifizierung dieser Verbindung in allen anderen Funktionen verwendet wird.
HidDeviceInfo
Attribute
-
Sammlungen
Sammlungen auf oberster Ebene aus den Berichtsdeskriptoren dieses Geräts.
-
deviceId
Zahl
Intransparente Geräte-ID.
-
maxFeatureReportSize
Zahl
Die maximale Berichtsgröße der Sammlung auf oberster Ebene.
-
maxInputReportSize
Zahl
Maximale Größe des Eingabeberichts für die Sammlung der obersten Ebene.
-
maxOutputReportSize
Zahl
Maximale Größe des Ausgabeberichts der Sammlung auf oberster Ebene
-
productId
Zahl
Produkt-ID.
-
productName
String
Chrome 46 und höherDer Produktname, der auf dem Gerät angezeigt wird, falls verfügbar.
-
reportDescriptor
ArrayBuffer
Unbearbeiteter Geräteberichtsdeskriptor (nicht unter Windows verfügbar)
-
serialNumber
String
Chrome 46 und höherDie vom Gerät abgelesene Seriennummer, falls verfügbar.
-
vendorId
Zahl
Anbieter-ID.
Methoden
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
Stellen Sie für die Kommunikation eine Verbindung zu einem HID-Gerät her.
Parameters
-
deviceId
Zahl
Das
HidDeviceInfo.deviceId
-Element des Geräts, das geöffnet werden soll. -
callback
Funktion optional
Der Parameter
callback
sieht so aus:(connection: HidConnectInfo) => void
-
Verbindung
-
Rückgaben
-
Promise<HidConnectInfo>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
)
Verbindung zu einem Gerät trennen Das Aufrufen von Vorgängen auf einem Gerät nach dem Aufrufen ist sicher, hat aber keine Auswirkungen.
Parameters
-
connectionId
Zahl
Das von
connect
zurückgegebeneconnectionId
. -
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Verbundene HID-Geräte auflisten.
Parameters
-
Optionen
Die Eigenschaften, nach denen auf den Zielgeräten gesucht werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(devices: HidDeviceInfo[]) => void
-
Geräte
-
Rückgaben
-
Promise<HidDeviceInfo[]>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
)
Den nächsten Eingabebericht vom Gerät empfangen.
Parameters
-
connectionId
Zahl
Das 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 -
Daten
ArrayBuffer
Die Berichtsdaten und das Präfix der Berichts-ID (falls vorhanden) wird entfernt.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
)
Fordern Sie einen Funktionsbericht vom Gerät an.
Parameters
-
connectionId
Zahl
Das von
connect
zurückgegebeneconnectionId
. -
reportId
Zahl
Die Berichts-ID oder
0
, falls keine -
callback
Funktion optional
Der Parameter
callback
sieht so aus:(data: ArrayBuffer) => void
-
Daten
ArrayBuffer
Die Berichtsdaten, einschließlich eines Berichts-ID-Präfix, falls eines vom Gerät gesendet wird
-
Rückgaben
-
Promise<ArrayBuffer>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
Ausgabebericht an das Gerät senden
Hinweis:Fügen Sie in data
kein Präfix für die Berichts-ID ein. Sie wird bei Bedarf hinzugefügt.
Parameters
-
connectionId
Zahl
Das von
connect
zurückgegebeneconnectionId
. -
reportId
Zahl
Die zu verwendende Berichts-ID oder
0
, falls keine -
Daten
ArrayBuffer
Die Berichtsdaten
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
Einen Funktionsbericht an das Gerät senden
Hinweis:Fügen Sie in data
kein Präfix für die Berichts-ID ein. Sie wird bei Bedarf hinzugefügt.
Parameters
-
connectionId
Zahl
Das von
connect
zurückgegebeneconnectionId
. -
reportId
Zahl
Die zu verwendende Berichts-ID oder
0
, falls keine -
Daten
ArrayBuffer
Die Berichtsdaten
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 117 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
Veranstaltungen
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 auf das Gerät zugreifen dürfen. Die Berechtigung wurde möglicherweise bei der Installation oder wenn der Nutzer eine optionale Berechtigung akzeptiert (siehe permissions.request
) erteilt.
Parameters
-
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. Welche Ereignisse ausgelöst werden, sehen Sie unter onDeviceAdded
.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(deviceId: number) => void
-
deviceId
Zahl
-