chrome.hid

Opis

Do interakcji z połączonymi urządzeniami HID używaj interfejsu API chrome.hid. Ten interfejs API zapewnia dostęp do operacji HID z kontekstu aplikacji. Za jego pomocą aplikacje mogą działać jako sterowniki urządzeń sprzętowych. Błędy generowane przez ten interfejs API są zgłaszane przez ustawienie runtime.lastError i wykonywanie zwykłego wywołania zwrotnego funkcji. Zwykłe parametry wywołania zwrotnego będą w tym przypadku nieokreślone.

Uprawnienia

hid

Typy

DeviceFilter

Właściwości

  • productId

    liczba opcjonalnie

    Identyfikator produktu urządzenia, zaznaczany tylko wtedy, gdy identyfikator dostawcy pasuje.

  • wykorzystanie

    liczba opcjonalnie

    Identyfikator użytkowania HID, sprawdzany tylko wtedy, gdy strona użytkowania HID jest zgodna.

  • usagePage

    liczba opcjonalnie

    Identyfikator strony wykorzystania HID.

  • vendorId

    liczba opcjonalnie

    Identyfikator dostawcy urządzenia.

GetDevicesOptions

Właściwości

  • filtry

    DeviceFilter[] opcjonalny

    Zostanie zwrócone urządzenie pasujące do dowolnego filtra. Pusta lista filtrów zwraca wszystkie urządzenia, do których aplikacja ma uprawnienia.

  • productId

    liczba opcjonalnie

    Wycofano

    Odpowiednik ustawienia DeviceFilter.productId.

  • vendorId

    liczba opcjonalnie

    Wycofano

    Odpowiednik ustawienia DeviceFilter.vendorId.

HidCollectionInfo

Właściwości

  • reportIds

    liczba[]

    Identyfikatory raportów, które należą do kolekcji i jej elementów podrzędnych.

  • wykorzystanie

    liczba

    Zdefiniowany przez stronę identyfikator wykorzystania.

  • usagePage

    liczba

    Identyfikator strony wykorzystania HID.

HidConnectInfo

Właściwości

  • connectionId

    liczba

    Nieprzezroczysty identyfikator używany do identyfikowania tego połączenia we wszystkich innych funkcjach.

HidDeviceInfo

Właściwości

  • kolekcje

    Kolekcje najwyższego poziomu z deskryptorów raportów tego urządzenia.

  • deviceId

    liczba

    Nieprzezroczysty identyfikator urządzenia.

  • maxFeatureReportSize

    liczba

    Maksymalny rozmiar raportu dotyczącego funkcji kolekcji najwyższego poziomu.

  • maxInputReportSize

    liczba

    Maksymalny rozmiar raportu wejściowego kolekcji najwyższego poziomu.

  • maxOutputReportSize

    liczba

    Maksymalny rozmiar raportu wyjściowego kolekcji najwyższego poziomu.

  • productId

    liczba

    Identyfikator produktu.

  • nazwaProduktu

    ciąg znaków

    Chrome w wersji 46 lub nowszej, .

    Nazwa produktu odczytywana z urządzenia (jeśli jest dostępna).

  • reportDescriptor

    SlateBuffer

    Deskryptor raportu nieprzetworzonych danych o urządzeniach (niedostępny w systemie Windows).

  • serialNumber

    ciąg znaków

    Chrome w wersji 46 lub nowszej, .

    Numer seryjny odczytany z urządzenia (jeśli jest dostępny).

  • vendorId

    liczba

    Identyfikator dostawcy.

Metody

connect()

Obietnica .
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

Otwórz połączenie z urządzeniem HID w celu komunikacji.

Parametry

Zwroty

  • Promise<HidConnectInfo>

    Chrome w wersji 117 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

disconnect()

Obietnica .
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

Odłącz od urządzenia. Wykonywanie operacji na urządzeniu po jej wywołaniu jest bezpieczne, ale nie powoduje żadnych skutków.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez użytkownika connect.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 117 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

getDevices()

Obietnica .
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

Wylicza połączone urządzenia HID.

Parametry

  • Właściwości do wyszukiwania na urządzeniach docelowych.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (devices: HidDeviceInfo[]) => void

Zwroty

  • Promise&lt;HidDeviceInfo[]&gt;

    Chrome w wersji 117 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)

Odbieranie następnego raportu wejściowego z urządzenia.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez użytkownika connect.

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (reportId: number, data: ArrayBuffer) => void

    • reportId

      liczba

      Identyfikator raportu lub 0, jeśli go nie ma.

    • dane

      SlateBuffer

      Dane raportu, prefiks identyfikatora raportu (jeśli występuje) zostanie usunięty.

receiveFeatureReport()

Obietnica .
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

Poproś o raport dotyczący funkcji z urządzenia.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez użytkownika connect.

  • reportId

    liczba

    Identyfikator raportu lub 0, jeśli go nie ma.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (data: ArrayBuffer) => void

    • dane

      SlateBuffer

      dane z raportu, w tym prefiks identyfikatora raportu, jeśli jest on wysyłany przez urządzenie;

Zwroty

  • Obietnica<tablicaBuffer>

    Chrome w wersji 117 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

send()

Obietnica .
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Wyślij raport wyjściowy na urządzenie.

Uwaga: w polu data nie należy podawać prefiksu identyfikatora raportu. Zostanie ona dodana w razie potrzeby.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez użytkownika connect.

  • reportId

    liczba

    Identyfikator raportu, który ma zostać użyty, lub 0, jeśli nie ma żadnego.

  • dane

    SlateBuffer

    Dane do raportu.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 117 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

sendFeatureReport()

Obietnica .
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Wyślij raport dotyczący funkcji na urządzenie.

Uwaga: nie umieszczaj w polu data prefiksu identyfikatora raportu. W razie potrzeby zostaną dodane.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez użytkownika connect.

  • reportId

    liczba

    Identyfikator raportu, który ma zostać użyty, lub 0, jeśli nie ma żadnego.

  • dane

    SlateBuffer

    Dane do raportu.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 117 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onDeviceAdded

chrome.hid.onDeviceAdded.addListener(
  callback: function,
)

Zdarzenie generowane po dodaniu urządzenia do systemu. Wydarzenia są transmitowane tylko do aplikacji i rozszerzeń, które mają uprawnienia dostępu do urządzenia. Uprawnienia mogły zostać przyznane podczas instalacji lub gdy użytkownik zaakceptował uprawnienia opcjonalne (zobacz permissions.request).

Parametry

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

Zdarzenie generowane po usunięciu urządzenia z systemu. Zobacz onDeviceAdded dotyczące tego, które zdarzenia są dostarczane.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (deviceId: number) => void

    • deviceId

      liczba