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
WycofanoOdpowiednik ustawienia
DeviceFilter.productId
. -
vendorId
Liczba opcjonalnie
WycofanoOdpowiednik 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 wersjeNazwa 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 wersjeNumer 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, które ma zostać otwarte. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(connection: HidConnectInfo) => void
-
Połączenie
-
Akcje powrotne
-
Promise<HidConnectInfo>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
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żytkownikaconnect
. -
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 117 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Wylicza podłączone urządzenia HID.
Parametry
-
Opcje
Właściwości do wyszukiwania na urządzeniach docelowych.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(devices: HidDeviceInfo[]) => void
-
urządzenia
-
Akcje powrotne
-
Promise<HidDeviceInfo[]>
Chrome 117 i nowsze wersjeObietnice 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żytkownikaconnect
. -
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()
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żytkownikaconnect
. -
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
send()
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żytkownikaconnect
. -
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
sendFeatureReport()
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żytkownikaconnect
. -
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 wersjeObietnice 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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(device: HidDeviceInfo) => void
-
urządzenie
-
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
-