chrome.hid

Beschreibung

Mit der chrome.hid API können Sie mit verbundenen HID-Geräten 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 Callbacks sind in diesem Fall nicht definiert.

Berechtigungen

hid

Typen

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

    HID-Nutzungsseiten-ID.

  • 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

    Eingestellt

    Entspricht dem Festlegen von DeviceFilter.productId.

  • vendorId

    number optional

    Eingestellt

    Entspricht dem Festlegen von DeviceFilter.vendorId.

HidCollectionInfo

Attribute

  • reportIds

    number[]

    Berichts-IDs, die zur Sammlung und ihren untergeordneten Elementen gehören.

  • Verwendung

    Zahl

    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 der obersten Ebene.

  • maxOutputReportSize

    Zahl

    Maximale Größe des Ausgabebereichs der Sammlung auf oberster Ebene.

  • productId

    Zahl

    Produkt-ID.

  • productName (Produktname)

    String

    Chrome 46 und höher

    Der Produktname, der vom Gerät gelesen wird, sofern verfügbar.

  • reportDescriptor

    ArrayBuffer

    Rohdaten-Berichtsdeskriptor für Geräte (nicht unter Windows verfügbar)

  • serialNumber

    String

    Chrome 46 und höher

    Die vom Gerät gelesene Seriennummer, sofern verfügbar.

  • vendorId

    Zahl

    Anbieter-ID.

Methoden

connect()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

Öffnen Sie eine Verbindung zu einem HID-Gerät für die Kommunikation.

Parameter

Ausgabe

  • Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

disconnect()

Promise
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 Funktion ist sicher, hat aber keine Auswirkungen.

Parameter

  • connectionId

    Zahl

    Die connectionId, die von connect zurückgegeben wird.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

Verbundene HID-Geräte auflisten.

Parameter

  • Die Eigenschaften, nach denen auf Zielgeräten gesucht werden soll.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (devices: HidDeviceInfo[]) => void

Ausgabe

  • Promise<HidDeviceInfo[]>

    Chrome 117 und höher

    Promises 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

Empfangen Sie den nächsten Eingabebericht vom Gerät.

Parameter

  • connectionId

    Zahl

    Die von connect zurückgegebene connectionId.

  • 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()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

Fordern Sie einen Funktionsbericht vom Gerät an.

Parameter

  • connectionId

    Zahl

    Die connectionId, die von connect zurückgegeben wird.

  • 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 eines vom Gerät gesendet wird.

Ausgabe

  • Promise<ArrayBuffer>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

send()

Promise
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<void>

Einen Ausgabebereicht an das Gerät senden.

Hinweis:Das Präfix der Berichts-ID darf nicht in data enthalten sein. Sie wird bei Bedarf hinzugefügt.

Parameter

  • connectionId

    Zahl

    Die connectionId, die von connect zurückgegeben wird.

  • 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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

sendFeatureReport()

Promise
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 connectionId, die von connect zurückgegeben wird.

  • 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öher

    Promises 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

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