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
WycofanoOdpowiednik ustawienia
DeviceFilter.productId
. -
vendorId
number opcjonalny
WycofanoOdpowiednik 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 nowszaNazwa 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 nowszaNumer seryjny odczytany z urządzenia, jeśli jest dostępny.
-
vendorId
liczba
Identyfikator dostawcy.
Metody
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Otwórz połączenie z urządzeniem HID, aby się z nim komunikować.
Parametry
-
deviceId
liczba
HidDeviceInfo.deviceId
urządzenia, które chcesz otworzyć. -
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(connection: HidConnectInfo) => void
-
połączenie
-
Zwroty
-
Promise<HidConnectInfo>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
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 przezconnect
. -
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 117 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Wylicza podłączone urządzenia HID.
Parametry
-
Opcje
Właściwości, których należy szukać na urządzeniach docelowych.
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:(devices: HidDeviceInfo[]) => void
-
urządzenia
-
Zwroty
-
Promise<HidDeviceInfo[]>
Chrome 117 lub nowszaObietnice 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 przezconnect
. -
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()
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 przezconnect
. -
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
send()
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 przezconnect
. -
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
sendFeatureReport()
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 przezconnect
. -
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 nowszaObietnice 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
-
callback
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. 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
-