chrome.hid

Opis

Użyj interfejsu chrome.hid API, aby korzystać z podłączonych urządzeń HID. Ten interfejs API umożliwia dostęp do operacji HID w kontekście aplikacji. Dzięki niemu 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 opcjonalny

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

  • użycie

    number opcjonalny

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

  • usagePage

    number opcjonalny

    Identyfikator strony wykorzystania HID.

  • vendorId

    number opcjonalny

    Identyfikator dostawcy urządzenia.

GetDevicesOptions

Właściwości

  • filtry

    DeviceFilter[] opcjonalnie

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

  • productId

    number opcjonalny

    Wycofano

    Odpowiednik ustawienia DeviceFilter.productId.

  • vendorId

    number opcjonalny

    Wycofano

    Odpowiednik ustawienia DeviceFilter.vendorId.

HidCollectionInfo

Właściwości

  • reportIds

    number[]

    Identyfikatory raportów należących 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

    Nieprzejrzysty 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

    ciąg znaków

    Chrome 46 lub nowsza

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

  • reportDescriptor

    ArrayBuffer

    Surowy deskryptor raportu o urządzeniu (niedostępny w systemie Windows).

  • serialNumber

    ciąg znaków

    Chrome 46 lub nowsza

    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 się z nim komunikować.

Parametry

Zwroty

  • Chrome 117 lub nowsza

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

disconnect()

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

Odłączanie 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 connect.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 117 lub nowsza

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

getDevices()

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

Wylicza podłączone urządzenia HID.

Parametry

  • Właściwości, których należy szukać na urządzeniach docelowych.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (devices: HidDeviceInfo[]) => void

Zwroty

  • Promise<HidDeviceInfo[]>

    Chrome 117 lub nowsza

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

receive()

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

Otrzymuje kolejny raport wejściowy z urządzenia.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez connect.

  • callback

    funkcja

    Parametr callback wygląda tak:

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

    • reportId

      liczba

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

    • dane

      ArrayBuffer

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

receiveFeatureReport()

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

Poproś o raport o funkcjach z urządzenia.

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez connect.

  • reportId

    liczba

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

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (data: ArrayBuffer) => void

    • dane

      ArrayBuffer

      Dane raportu, w tym prefiks identyfikatora raportu, jeśli jest wysyłany przez urządzenie.

Zwroty

  • Promise<ArrayBuffer>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy 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,
)
: Promise<void>

Wysyłanie raportu wyjściowego na urządzenie.

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

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez connect.

  • reportId

    liczba

    Identyfikator raportu do użycia lub 0, jeśli nie ma takiego identyfikatora.

  • dane

    ArrayBuffer

    Dane raportu.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy 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,
)
: Promise<void>

Wyślij raport o funkcjach na urządzenie.

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

Parametry

  • connectionId

    liczba

    Wartość connectionId zwrócona przez connect.

  • reportId

    liczba

    Identyfikator raportu do użycia lub 0, jeśli nie ma takiego identyfikatora.

  • dane

    ArrayBuffer

    Dane raportu.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 117 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy 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ą 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ł opcjonalne uprawnienia (patrz permissions.request).

Parametry

onDeviceRemoved

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

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

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (deviceId: number) => void

    • deviceId

      liczba