chrome.hid

Descrizione

Usa l'API chrome.hid per interagire con i dispositivi HID connessi. Questa API consente di accedere alle operazioni HID dal contesto di un'app. Grazie all'API, le app possono fungere da driver per dispositivi hardware. Gli errori generati da questa API vengono segnalati impostando runtime.lastError ed eseguendo il callback normale della funzione. In questo caso, i parametri normali del callback non saranno definiti.

Autorizzazioni

hid

Tipi

DeviceFilter

Proprietà

  • productId

    numero facoltativo

    ID prodotto dispositivo, selezionato solo se l'ID fornitore corrisponde.

  • utilizzo

    numero facoltativo

    Identificatore di utilizzo HID, selezionato solo se la pagina Utilizzo di 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 i quali l'app è autorizzata.

  • productId

    numero facoltativo

    Deprecato

    Equivale all'impostazione DeviceFilter.productId.

  • vendorId

    numero facoltativo

    Deprecato

    Equivale all'impostazione DeviceFilter.vendorId.

HidCollectionInfo

Proprietà

  • reportIds

    numero[]

    ID report che appartengono alla raccolta e ai relativi ID 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 dei descrittori dei report di questo dispositivo.

  • deviceId

    numero

    ID dispositivo opaco.

  • maxFeatureReportSize

    numero

    Dimensioni massime del report sugli elementi della raccolta di primo livello.

  • maxInputReportSize

    numero

    Dimensioni massime 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 non elaborato sul dispositivo (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()

Promessa
chrome.hid.connect(
  deviceId: number,
  callback?: function,
)

Apri una connessione a un dispositivo HID per la comunicazione.

Parametri

Ritorni

  • Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.

disconnect()

Promessa
chrome.hid.disconnect(
  connectionId: number,
  callback?: function,
)

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

Parametri

  • connectionId

    numero

    Il valore connectionId restituito da connect.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.

getDevices()

Promessa
chrome.hid.getDevices(
  options: GetDevicesOptions,
  callback?: function,
)

Enumera i dispositivi HID connessi.

Parametri

Ritorni

  • Promise<HidDeviceInfo[]>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.

receive()

chrome.hid.receive(
  connectionId: number,
  callback: function,
)

Ricevi il successivo report di input dal dispositivo.

Parametri

  • connectionId

    numero

    Il valore 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 nessuno.

    • dati

      ArrayBuffer

      I dati del report, il prefisso dell'ID report (se presente), vengono rimossi.

receiveFeatureReport()

Promessa
chrome.hid.receiveFeatureReport(
  connectionId: number,
  reportId: number,
  callback?: function,
)

Richiedi un report sulla funzionalità dal dispositivo.

Parametri

  • connectionId

    numero

    Il valore connectionId restituito da connect.

  • reportId

    numero

    L'ID report o 0 se nessuno.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (data: ArrayBuffer)=>void

    • dati

      ArrayBuffer

      I dati del report, incluso un prefisso dell'ID report se il dispositivo ne invia uno.

Ritorni

  • Promise<ArrayBuffer>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.

send()

Promessa
chrome.hid.send(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Invia un report di output al dispositivo.

Nota: non includere il prefisso di un ID report in data. Verrà aggiunto se necessario.

Parametri

  • connectionId

    numero

    Il valore connectionId restituito da connect.

  • reportId

    numero

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

  • dati

    ArrayBuffer

    I dati del report.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.

sendFeatureReport()

Promessa
chrome.hid.sendFeatureReport(
  connectionId: number,
  reportId: number,
  data: ArrayBuffer,
  callback?: function,
)

Invia un report sulla funzionalità al dispositivo.

Nota: non includere il prefisso di un ID report in data. Verrà aggiunto se necessario.

Parametri

  • connectionId

    numero

    Il valore connectionId restituito da connect.

  • reportId

    numero

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

  • dati

    ArrayBuffer

    I dati del report.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 117 e versioni successive

    Le promesse sono supportate solo per Manifest V3 e versioni successive; 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 la sezione onDeviceAdded per sapere quali eventi vengono pubblicati.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (deviceId: number)=>void

    • deviceId

      numero