chrome.hid

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 funzionare come driver per i dispositivi hardware. Gli errori generati da questa API vengono segnalati impostando runtime.lastError ed eseguendo il callback regolare della funzione. In questo caso, i parametri regolari del callback non saranno definiti.

Autorizzazioni

hid

Tipi

DeviceFilter

Proprietà

  • productId

    number optional

    ID prodotto del dispositivo, controllato solo se l'ID fornitore corrisponde.

  • utilizzo

    number optional

    Identificatore di utilizzo HID, controllato solo se la pagina di utilizzo HID corrisponde.

  • usagePage

    number optional

    Identificatore della pagina di utilizzo HID.

  • vendorId

    number optional

    ID 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 dispone dell'autorizzazione.

  • productId

    number optional

    Deprecato

    Equivalente all'impostazione DeviceFilter.productId.

  • vendorId

    number optional

    Deprecato

    Equivalente 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+

    Il 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+

    Il numero di serie letto dal dispositivo, se disponibile.

  • vendorId

    numero

    ID fornitore.

Metodi

connect()

Promise
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)
: Promise<HidConnectInfo>

Aprire una connessione a un dispositivo HID per la comunicazione.

Parametri

Resi

  • Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

disconnect()

Promise
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<void>

Disconnettersi da un dispositivo. La chiamata di operazioni su un dispositivo dopo questa chiamata è sicura, ma non ha alcun effetto.

Parametri

  • connectionId

    numero

    connectionId restituito da connect.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getDevices()

Promise
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)
: Promise<HidDeviceInfo[]>

Enumerare i dispositivi HID connessi.

Parametri

  • Le proprietà da cercare sui dispositivi di destinazione.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (devices: HidDeviceInfo[]) => void

Resi

  • Promise<HidDeviceInfo[]>

    Chrome 117 e versioni successive

    Le promise 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,
)
: void

Ricevi il report di input successivo dal dispositivo.

Parametri

  • connectionId

    numero

    connectionId restituito da connect.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (reportId: number, data: ArrayBuffer) => void

    • reportId

      numero

      L'ID report o 0 se non esiste.

    • dati

      ArrayBuffer

      I dati del report, il prefisso dell'ID report (se presente) viene rimosso.

receiveFeatureReport()

Promise
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)
: Promise<ArrayBuffer>

Richiedi un report sulle funzionalità dal dispositivo.

Parametri

  • connectionId

    numero

    connectionId restituito da connect.

  • reportId

    numero

    L'ID report o 0 se non esiste.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (data: ArrayBuffer) => void

    • dati

      ArrayBuffer

      I dati del report, incluso un prefisso dell'ID report, se inviato dal dispositivo.

Resi

  • Promise<ArrayBuffer>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

send()

Promise
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 dell'ID report in data. Verrà aggiunto se necessario.

Parametri

  • connectionId

    numero

    connectionId restituito da connect.

  • reportId

    numero

    L'ID report da utilizzare o 0 se non è presente.

  • dati

    ArrayBuffer

    I dati del report.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 117 e versioni successive

    Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

sendFeatureReport()

Promise
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 dell'ID report in data. Verrà aggiunto se necessario.

Parametri

  • connectionId

    numero

    connectionId restituito da connect.

  • reportId

    numero

    L'ID report da utilizzare o 0 se non è presente.

  • dati

    ArrayBuffer

    I dati del report.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 117 e versioni successive

    Le promise 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 solo 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

onDeviceRemoved

chrome.hid.onDeviceRemoved.addListener(
  callback: function,
)

Evento generato quando un dispositivo viene rimosso dal sistema. Consulta onDeviceAdded per sapere quali eventi vengono pubblicati.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (deviceId: number) => void

    • deviceId

      numero