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
WycofanoOdpowiednik ustawienia
DeviceFilter.productId
. -
vendorId
liczba opcjonalnie
WycofanoOdpowiednik 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()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
Otwórz połączenie z urządzeniem HID w celu komunikacji.
Parametry
-
deviceId
liczba
HidDeviceInfo.deviceId
urządzenia do otwarcia. -
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(connection: HidConnectInfo) => void
-
połączenie
-
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()
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żytkownikaconnect
. -
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()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Wylicza połączone urządzenia HID.
Parametry
-
Opcje
Właściwości do wyszukiwania na urządzeniach docelowych.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(devices: HidDeviceInfo[]) => void
-
urządzenia
-
Zwroty
-
Promise<HidDeviceInfo[]>
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żytkownikaconnect
. -
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()
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żytkownikaconnect
. -
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()
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żytkownikaconnect
. -
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()
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żytkownikaconnect
. -
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(device: HidDeviceInfo) => void
-
urządzenie
-
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
-