Descrizione
Utilizza l'API chrome.hid
per interagire con i dispositivi HID connessi. Questa API consente di accedere alle operazioni HID dal contesto di un'app. Utilizzando questa API, le app possono fungere da driver per i dispositivi hardware. Gli errori generati da questa API vengono segnalati impostando runtime.lastError
ed eseguendo il normale callback della funzione. In questo caso, i parametri normali del callback non saranno definiti.
Autorizzazioni
hid
Tipi
DeviceFilter
Proprietà
-
productId
numero facoltativo
ID prodotto dispositivo, controllato solo se l'ID fornitore corrisponde.
-
utilizzo
numero facoltativo
Identificatore di utilizzo HID, controllato solo se la pagina di utilizzo dell'HID corrisponde.
-
usagePage
numero facoltativo
Identificatore della pagina di utilizzo dell'HID.
-
vendorId
numero facoltativo
ID del fornitore del dispositivo.
GetDevicesOptions
Proprietà
-
filtri
DeviceFilter[] facoltativo
Verrà restituito un dispositivo corrispondente a un determinato filtro. Un elenco di filtri vuoto restituirà tutti i dispositivi per cui l'app è autorizzata.
-
productId
numero facoltativo
ObsoletaEquivale all'impostazione
DeviceFilter.productId
. -
vendorId
numero facoltativo
ObsoletaEquivale all'impostazione
DeviceFilter.vendorId
.
HidCollectionInfo
Proprietà
-
reportIds
numero[]
ID report che appartengono alla raccolta e ai relativi elementi secondari.
-
utilizzo
numero
Identificatore di utilizzo definito dalla pagina.
-
usagePage
numero
Identificatore della pagina di utilizzo dell'HID.
HidConnectInfo
Proprietà
-
connectionId
numero
L'ID opaco utilizzato per identificare questa connessione in tutte le altre funzioni.
HidDeviceInfo
Proprietà
-
raccolte
Raccolte di primo livello dai descrittori dei report di questo dispositivo.
-
deviceId
numero
ID dispositivo opaco.
-
maxFeatureReportSize
numero
Dimensione massima del report sulle funzionalità della raccolta di primo livello.
-
maxInputReportSize
numero
Dimensione massima del report di input della raccolta di primo livello.
-
maxOutputReportSize
numero
Dimensione massima del report di output della raccolta di primo livello.
-
productId
numero
ID prodotto.
-
productName
stringa
Chrome 46 e versioni successive .Il nome del prodotto letto dal dispositivo, se disponibile.
-
reportDescriptor
ArrayBuffer
Descrittore del report sui dispositivi non elaborati (non disponibile su Windows).
-
serialNumber
stringa
Chrome 46 e versioni successive .Il numero di serie letto dal dispositivo, se disponibile.
-
vendorId
numero
ID fornitore.
Metodi
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
Apri una connessione a un dispositivo HID per la comunicazione.
Parametri
-
deviceId
numero
Il
HidDeviceInfo.deviceId
del dispositivo da aprire. -
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(connection: HidConnectInfo) => void
-
connessione
-
Resi
-
Promise<HidConnectInfo>
Chrome 117 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
)
Disconnettersi da un dispositivo. Il richiamo di operazioni su un dispositivo dopo la chiamata è sicuro, ma non ha alcun effetto.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 117 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Elenca i dispositivi HID connessi.
Parametri
-
opzioni
Le proprietà da cercare sui dispositivi di destinazione.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(devices: HidDeviceInfo[]) => void
-
dispositivi
-
Resi
-
Promise<HidDeviceInfo[]>
Chrome 117 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
)
Ricevere il rapporto di input successivo dal dispositivo.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
callback
funzione
Il parametro
callback
ha il seguente aspetto:(reportId: number, data: ArrayBuffer) => void
-
reportId
numero
L'ID report o
0
se nessuno. -
dati
ArrayBuffer
I dati del report e il prefisso dell'ID report (se presente) sono stati rimossi.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
)
Richiedi un report sulle funzionalità dal dispositivo.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
reportId
numero
L'ID della segnalazione o
0
se non è presente. -
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(data: ArrayBuffer) => void
-
dati
ArrayBuffer
I dati del report, incluso un prefisso ID report, se inviato dal dispositivo.
-
Resi
-
Promise<ArrayBuffer>
Chrome 117 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
Inviare un report di output al dispositivo.
Nota: non includere il prefisso di un ID report in data
. Verrà aggiunto se necessario.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
reportId
numero
L'ID report da utilizzare o
0
in caso contrario. -
dati
ArrayBuffer
I dati del report.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 117 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
Inviare un report sulle funzionalità al dispositivo.
Nota: non includere il prefisso di un ID report in data
. Verrà aggiunto se necessario.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
reportId
numero
L'ID report da utilizzare o
0
in caso contrario. -
dati
ArrayBuffer
I dati del report.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 117 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onDeviceAdded
chrome.hid.onDeviceAdded.addListener(
callback: function,
)
Evento generato quando un dispositivo viene aggiunto al sistema. Gli eventi vengono trasmessi soltanto alle app e alle estensioni che dispongono dell'autorizzazione per accedere al dispositivo. L'autorizzazione potrebbe essere stata concessa al momento dell'installazione o quando l'utente ha accettato un'autorizzazione facoltativa (vedi permissions.request
).
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(device: HidDeviceInfo) => void
-
dispositivo
-
onDeviceRemoved
chrome.hid.onDeviceRemoved.addListener(
callback: function,
)
Evento generato quando un dispositivo viene rimosso dal sistema. Vedi onDeviceAdded
per sapere quali eventi vengono pubblicati.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(deviceId: number) => void
-
deviceId
numero
-