chrome.hid

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

    Obsoleta

    Equivale all'impostazione DeviceFilter.productId.

  • vendorId

    numero facoltativo

    Obsoleta

    Equivale 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()

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

Apri una connessione a un dispositivo HID per la comunicazione.

Parametri

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()

Promesso .
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 da connect.

  • 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()

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

Elenca i dispositivi HID connessi.

Parametri

  • Le proprietà da cercare sui dispositivi di destinazione.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (devices: HidDeviceInfo[]) => void

Resi

  • Promise&lt;HidDeviceInfo[]&gt;

    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 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 e il prefisso dell'ID report (se presente) sono stati rimossi.

receiveFeatureReport()

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

Richiedi un report sulle funzionalità dal dispositivo.

Parametri

  • connectionId

    numero

    connectionId restituito da connect.

  • 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&lt;ArrayBuffer&gt;

    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()

Promesso .
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 da connect.

  • 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()

Promesso .
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 da connect.

  • 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

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