Descrizione
Utilizza l'API chrome.hid
per interagire con i dispositivi HID connessi. Questa API fornisce l'accesso 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 regolari del callback non saranno definiti.
Autorizzazioni
hid
Tipi
DeviceFilter
Proprietà
-
productId
number (facoltativo)
ID prodotto del dispositivo, controllato solo se l'ID fornitore corrisponde.
-
utilizzo
number (facoltativo)
Identificatore di utilizzo HID, selezionato solo se la pagina di utilizzo HID corrisponde.
-
usagePage
number (facoltativo)
Identificatore della pagina di utilizzo HID.
-
vendorId
number (facoltativo)
ID fornitore del dispositivo.
GetDevicesOptions
Proprietà
-
filtri
DeviceFilter[] facoltativo
Verrà restituito un dispositivo corrispondente a un filtro specificato. Un elenco di filtri vuoto restituirà tutti i dispositivi per cui l'app dispone dell'autorizzazione.
-
productId
number (facoltativo)
ObsoletoEquivalente all'impostazione
DeviceFilter.productId
. -
vendorId
number (facoltativo)
ObsoletoEquivalente all'impostazione
DeviceFilter.vendorId
.
HidCollectionInfo
Proprietà
-
reportIds
number[]
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 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 o versioni successiveIl nome del prodotto letto dal dispositivo, se disponibile.
-
reportDescriptor
ArrayBuffer
Descrittore del report del dispositivo non elaborato (non disponibile su Windows).
-
serialNumber
stringa
Chrome 46 o versioni successiveIl numero di serie letto dal dispositivo, se disponibile.
-
vendorId
numero
ID fornitore.
Metodi
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Apri una connessione a un dispositivo HID per la comunicazione.
Parametri
-
deviceId
numero
L'
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+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
): Promise<void>
Disconnettersi da un dispositivo. L'invocazione di operazioni su un dispositivo dopo aver chiamato questo metodo è sicura, ma non ha effetto.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
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+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
): void
Ricevi il report 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 non presente. -
dati
ArrayBuffer
I dati del report e il prefisso dell'ID report (se presente) vengono rimossi.
-
receiveFeatureReport()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
Richiedi un report sulle funzionalità dal dispositivo.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
reportId
numero
L'ID report 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+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Invia un report di output al dispositivo.
Nota:non includere un prefisso ID report in data
. Verrà aggiunto se necessario.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
reportId
numero
L'ID report da utilizzare o
0
se non è presente. -
dati
ArrayBuffer
I dati del report.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
): Promise<void>
Invia un report sulle funzionalità al dispositivo.
Nota:non includere un prefisso ID report in data
. Verrà aggiunto se necessario.
Parametri
-
connectionId
numero
connectionId
restituito daconnect
. -
reportId
numero
L'ID report da utilizzare o
0
se non è presente. -
dati
ArrayBuffer
I dati del report.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 117+Le promesse sono supportate solo per Manifest V3 e versioni successive, 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 solo alle app e alle estensioni che hanno l'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. Consulta onDeviceAdded
per scoprire quali eventi vengono pubblicati.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(deviceId: number) => void
-
deviceId
numero
-