chrome.hid

Opis

Używaj interfejsu API chrome.hid do interakcji z połączonymi urządzeniami HID. Ten interfejs API zapewnia dostęp do operacji HID w kontekście aplikacji. Dzięki temu interfejsowi aplikacje mogą działać jako sterowniki urządzeń. Błędy generowane przez ten interfejs API są zgłaszane przez ustawienie runtime.lastError i wykonanie zwykłego wywołania zwrotnego funkcji. W takim przypadku zwykłe parametry wywołania zwrotnego będą niezdefiniowane.

Uprawnienia

hid

Typy

DeviceFilter

Właściwości

  • productId

    number optional

    Identyfikator produktu urządzenia, sprawdzany tylko wtedy, gdy identyfikator dostawcy jest zgodny.

  • użycie

    number optional

    Identyfikator wykorzystania HID, sprawdzany tylko wtedy, gdy strona wykorzystania HID jest zgodna.

  • usagePage

    number optional

    Identyfikator strony wykorzystania HID.

  • vendorId

    number optional

    Identyfikator dostawcy urządzenia.

GetDevicesOptions

Właściwości

  • filtry

    DeviceFilter[] opcjonalny

    Zwrócone zostanie urządzenie pasujące do dowolnego z podanych filtrów. Pusta lista filtrów spowoduje zwrócenie wszystkich urządzeń, do których aplikacja ma uprawnienia.

  • productId

    number optional

    Wycofane

    Odpowiednik ustawienia DeviceFilter.productId.

  • vendorId

    number optional

    Wycofane

    Odpowiednik ustawienia DeviceFilter.vendorId.

HidCollectionInfo

Właściwości

  • reportIds

    number[]

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

  • użycie

    liczba

    Identyfikator użycia zdefiniowany na stronie.

  • 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 o funkcjach w 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

    tekst

    Chrome 46 lub nowsza wersja

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

  • reportDescriptor

    ArrayBuffer

    Deskryptor nieprzetworzonego raportu urządzenia (niedostępny w systemie Windows).

  • serialNumber

    tekst

    Chrome 46 lub nowsza wersja

    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,
)
: Promise<HidConnectInfo>

Otwórz połączenie z urządzeniem HID, aby umożliwić komunikację.

Parametry

Zwroty

  • Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

disconnect()

Obietnica
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

odłączyć się od urządzenia, Wywoływanie operacji na urządzeniu po wywołaniu tej metody jest bezpieczne, ale nie przynosi żadnych efektów.

Parametry

  • connectionId

    liczba

    connectionId zwracany przez connect.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getDevices()

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

wyświetlanie listy połączonych urządzeń HID,

Parametry

  • Właściwości, które mają być wyszukiwane na urządzeniach docelowych.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (devices: HidDeviceInfo[]) => void

Zwroty

  • Promise<HidDeviceInfo[]>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

receive()

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

Odbierz następny raport wejściowy z urządzenia.

Parametry

  • connectionId

    liczba

    connectionId zwracany przez connect.

  • callback

    funkcja

    Parametr callback wygląda tak:

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

    • reportId

      liczba

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

    • dane

      ArrayBuffer

      Dane do raportu, prefiks identyfikatora raportu (jeśli występuje) jest usuwany.

receiveFeatureReport()

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

Poproś o raport o funkcjach z urządzenia.

Parametry

  • connectionId

    liczba

    connectionId zwracany przez connect.

  • reportId

    liczba

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

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (data: ArrayBuffer) => void

    • dane

      ArrayBuffer

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

Zwroty

  • Promise<ArrayBuffer>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

send()

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

wysyłanie raportu wyjściowego do urządzenia,

Uwaga: nie podawaj prefiksu identyfikatora raportu w pliku data. W razie potrzeby zostanie dodany.

Parametry

  • connectionId

    liczba

    connectionId zwracany przez connect.

  • reportId

    liczba

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

  • dane

    ArrayBuffer

    Dane do raportu.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

sendFeatureReport()

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

wysyłać do urządzenia raport o funkcjach,

Uwaga: nie podawaj prefiksu identyfikatora raportu w pliku data. W razie potrzeby zostanie dodany.

Parametry

  • connectionId

    liczba

    connectionId zwracany przez connect.

  • reportId

    liczba

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

  • dane

    ArrayBuffer

    Dane do raportu.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 117 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

Wydarzenia

onDeviceAdded

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

Zdarzenie generowane po dodaniu urządzenia do systemu. Zdarzenia są przesyłane 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 (patrz permissions.request).

Parametry

onDeviceRemoved

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

Zdarzenie generowane, gdy urządzenie zostanie usunięte z systemu. Informacje o tym, które zdarzenia są dostarczane, znajdziesz w onDeviceAdded.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (deviceId: number) => void

    • deviceId

      liczba