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

    Obsoleto

    Equivalente all'impostazione DeviceFilter.productId.

  • vendorId

    number (facoltativo)

    Obsoleto

    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 o versioni successive

    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 o 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,
)
: Promise<HidConnectInfo>

Apri una connessione a un dispositivo HID per la comunicazione.

Parametri

Resi

  • Chrome 117+

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

disconnect()

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

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

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

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<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 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 presente.

    • dati

      ArrayBuffer

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

receiveFeatureReport()

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

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

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

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

  • 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

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