chrome.hid

Opis

Interfejs API chrome.hid umożliwia interakcję z połączonymi urządzeniami HID. Ten interfejs API zapewnia dostęp do operacji HID z poziomu 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. W tym przypadku standardowe parametry wywołania zwrotnego nie będą określone.

Uprawnienia

hid

Typy

DeviceFilter

Właściwości

  • productId

    Liczba opcjonalnie

    Identyfikator produktu na urządzeniu – sprawdzany tylko wtedy, gdy identyfikator dostawcy jest taki sam.

  • wykorzystanie

    Liczba opcjonalnie

    Identyfikator wykorzystania HID, sprawdzany tylko wtedy, gdy strona wykorzystania 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

    Zwrócone zostanie urządzenie pasujące do dowolnego z filtrów. Jeśli lista filtrów będzie pusta, zobaczysz 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 należące do kolekcji i do 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

    Nieprzejrzysty 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 na tym urządzeniu.

  • deviceId

    Liczba

    Nieprzezroczysty identyfikator urządzenia.

  • maxFeatureReportSize

    Liczba

    Maksymalny rozmiar raportu 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.

  • productName

    string,

    Chrome 46 i nowsze wersje

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

  • reportDescriptor

    ArrayBuffer

    Opis pliku nieprzetworzonego raportu o urządzeniach (niedostępne w systemie Windows).

  • serialNumber

    string,

    Chrome 46 i nowsze wersje

    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

Akcje powrotne

  • Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

disconnect()

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

Odłącz od urządzenia. Wywoływanie operacji na urządzeniu po wywołaniu tej funkcji jest bezpieczne, ale nie ma żadnego efektu.

Parametry

  • connectionId

    Liczba

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

getDevices()

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

Wylicza podłączone urządzenia HID.

Parametry

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (devices: HidDeviceInfo[])=>void

Akcje powrotne

  • Promise<HidDeviceInfo[]>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

receive()

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

Odbieraj na urządzeniu następny raport o danych wejściowych.

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 nie ma żadnej wartości.

    • dane

      ArrayBuffer

      Dane raportu oraz prefiks identyfikatora raportu (jeśli występuje) zostaną usunięte.

receiveFeatureReport()

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

Poproś o raport na temat funkcji z urządzenia.

Parametry

  • connectionId

    Liczba

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

  • reportId

    Liczba

    Identyfikator raportu lub 0, jeśli nie ma żadnej wartości.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (data: ArrayBuffer)=>void

    • dane

      ArrayBuffer

      Dane raportu, w tym prefiks identyfikatora raportu, jeśli został on wysłany przez urządzenie.

Akcje powrotne

  • Promise<ArrayBuffer>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

send()

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

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

Uwaga: w polu data nie umieszczaj prefiksu identyfikatora raportu. W razie potrzeby zostanie on dodany.

Parametry

  • connectionId

    Liczba

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

  • reportId

    Liczba

    Identyfikator raportu, którego chcesz użyć, lub 0, jeśli nie ma żadnej wartości.

  • dane

    ArrayBuffer

    Dane raportu.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.

sendFeatureReport()

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

Wyślij raport na temat funkcji na urządzenie.

Uwaga: w polu data nie umieszczaj prefiksu identyfikatora raportu. W razie potrzeby zostanie on dodany.

Parametry

  • connectionId

    Liczba

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

  • reportId

    Liczba

    Identyfikator raportu, którego chcesz użyć, lub 0, jeśli nie ma żadnej wartości.

  • dane

    ArrayBuffer

    Dane raportu.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 117 i nowsze wersje

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 zaakceptuje uprawnienie opcjonalne (patrz permissions.request).

Parametry

onDeviceRemoved

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

Zdarzenie generowane, gdy urządzenie zostanie usunięte z systemu. Zobacz onDeviceAdded, w przypadku których zdarzenia są dostarczane.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (deviceId: number)=>void

    • deviceId

      Liczba