Beschrijving
Gebruik de chrome.hid API om te communiceren met verbonden HID-apparaten. Deze API biedt toegang tot HID-bewerkingen vanuit de context van een app. Met deze API kunnen apps functioneren als stuurprogramma's voor hardwareapparaten. Fouten die door deze API worden gegenereerd, worden gemeld door runtime.lastError in te stellen en de reguliere callback van de functie uit te voeren. De reguliere parameters van de callback zijn in dit geval niet gedefinieerd.
Rechten
hidTypen
DeviceFilter
Eigenschappen
-
productId
number optioneel
Product-ID van het apparaat, wordt alleen gecontroleerd als de leveranciers-ID overeenkomt.
-
gebruik
number optioneel
HID-gebruiks-ID, wordt alleen gecontroleerd als de HID-gebruikspagina overeenkomt.
-
usagePage
number optioneel
ID van HID-gebruikspagina.
-
vendorId
number optioneel
ID van apparaatleverancier.
GetDevicesOptions
Eigenschappen
-
filters
DeviceFilter[] optioneel
Er wordt een apparaat geretourneerd dat overeenkomt met een bepaald filter. Een lege filterlijst retourneert alle apparaten waarvoor de app rechten heeft.
-
productId
number optioneel
BeëindigdDit is gelijk aan de instelling
DeviceFilter.productId. -
vendorId
number optioneel
BeëindigdKomt overeen met de instelling
DeviceFilter.vendorId.
HidCollectionInfo
Eigenschappen
-
reportIds
number[]
Rapport-ID's die bij de collectie en de onderliggende items horen.
-
gebruik
getal
Door de pagina gedefinieerde gebruiks-ID.
-
usagePage
getal
ID van HID-gebruikspagina.
HidConnectInfo
Eigenschappen
-
connectionId
getal
De ondoorzichtige ID die wordt gebruikt om deze verbinding in alle andere functies te identificeren.
HidDeviceInfo
Eigenschappen
-
collecties
Collecties op het hoogste niveau uit de rapportbeschrijvingen van dit apparaat.
-
deviceId
getal
Ondoorzichtige apparaat-ID.
-
maxFeatureReportSize
getal
Maximale grootte van het kenmerkrapport van de collectie op het hoogste niveau.
-
maxInputReportSize
getal
De maximale grootte van het invoerrapport van de collectie op het hoogste niveau.
-
maxOutputReportSize
getal
Maximale grootte van het uitvoerrapport van de collectie op het hoogste niveau.
-
productId
getal
Product-ID.
-
productName
tekenreeks
Chrome 46+De productnaam die van het apparaat is gelezen, indien beschikbaar.
-
reportDescriptor
ArrayBuffer
Onbewerkte apparaatrapportdescriptor (niet beschikbaar in Windows).
-
serialNumber
tekenreeks
Chrome 46+Het serienummer dat van het apparaat is gelezen, indien beschikbaar.
-
vendorId
getal
Leverancier-ID.
Methoden
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Een verbinding met een HID-apparaat openen voor communicatie.
Parameters
-
deviceId
getal
De
HidDeviceInfo.deviceIdvan het apparaat dat je wilt openen. -
callback
functie optioneel
De parameter
callbackziet er zo uit:(connection: HidConnectInfo) => void
-
verbinding
-
Retourzendingen
-
Promise<HidConnectInfo>
Chrome 117+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
De verbinding met een apparaat verbreken. Bewerkingen aanroepen op een apparaat nadat je dit hebt aangeroepen, is veilig maar heeft geen effect.
Parameters
-
connectionId
getal
De
connectionIddie wordt geretourneerd doorconnect. -
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 117+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Verbonden HID-apparaten opsommen.
Parameters
-
opties
De eigenschappen waarnaar moet worden gezocht op doelapparaten.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(devices: HidDeviceInfo[]) => void
-
apparaten
-
Retourzendingen
-
Promise<HidDeviceInfo[]>
Chrome 117+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
Het volgende invoerrapport van het apparaat ontvangen.
Parameters
-
connectionId
getal
De
connectionIddie wordt geretourneerd doorconnect. -
callback
functie
De parameter
callbackziet er zo uit:(reportId: number, data: ArrayBuffer) => void
-
reportId
getal
De rapport-ID of
0als er geen is. -
gegevens
ArrayBuffer
De rapportgegevens, het voorvoegsel van de rapport-ID (indien aanwezig) wordt verwijderd.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
Een functierapport van het apparaat aanvragen.
Parameters
-
connectionId
getal
De
connectionIddie wordt geretourneerd doorconnect. -
reportId
getal
De rapport-ID, of
0als er geen is. -
callback
functie optioneel
De parameter
callbackziet er zo uit:(data: ArrayBuffer) => void
-
gegevens
ArrayBuffer
De rapportgegevens, waaronder een voorvoegsel voor de rapport-ID als het apparaat er een stuurt.
-
Retourzendingen
-
Promise<ArrayBuffer>
Chrome 117+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Stuur een uitvoerrapport naar het apparaat.
Opmerking: Voeg geen voorvoegsel voor rapport-ID toe aan data. Deze wordt zo nodig toegevoegd.
Parameters
-
connectionId
getal
De
connectionIddie wordt geretourneerd doorconnect. -
reportId
getal
De rapport-ID die u wilt gebruiken of
0als er geen is. -
gegevens
ArrayBuffer
De rapportgegevens.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 117+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Stuur een functierapport naar het apparaat.
Opmerking: Voeg geen voorvoegsel voor rapport-ID toe aan data. Deze wordt zo nodig toegevoegd.
Parameters
-
connectionId
getal
De
connectionIddie wordt geretourneerd doorconnect. -
reportId
getal
De rapport-ID die u wilt gebruiken of
0als er geen is. -
gegevens
ArrayBuffer
De rapportgegevens.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 117+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
Evenementen
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
Gebeurtenis die wordt gegenereerd als een apparaat aan het systeem wordt toegevoegd. Gebeurtenissen worden alleen uitgezonden naar apps en extensies die toegangsrechten hebben voor het apparaat. Het recht is misschien verleend tijdens de installatie of toen de gebruiker een optioneel recht accepteerde (zie permissions.request).
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(device: HidDeviceInfo) => void
-
apparaat
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Gebeurtenis die wordt gegenereerd als een apparaat uit het systeem wordt verwijderd. Ga naar onDeviceAdded voor de gebeurtenissen die worden geleverd.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(deviceId: number) => void
-
deviceId
getal
-