chrome.hid

Description

Utilisez l'API chrome.hid pour interagir avec les appareils HID connectés. Cette API permet d'accéder aux opérations HID dans le contexte d'une application. Grâce à cette API, les applications peuvent fonctionner comme des pilotes pour les périphériques matériels. Les erreurs générées par cette API sont signalées en définissant runtime.lastError et en exécutant le rappel standard de la fonction. Dans ce cas, les paramètres standards du rappel ne seront pas définis.

Autorisations

hid

Types

DeviceFilter

Propriétés

  • productId

    number facultatif

    ID produit de l'appareil, vérifié uniquement si l'ID fournisseur correspond.

  • utilisation

    number facultatif

    Identifiant d'utilisation HID, vérifié uniquement si la page d'utilisation HID correspond.

  • usagePage

    number facultatif

    Identifiant de la page d'utilisation HID.

  • vendorId

    number facultatif

    ID du fournisseur de l'appareil.

GetDevicesOptions

Propriétés

  • filtres

    DeviceFilter[] facultatif

    Un appareil correspondant à l'un des filtres indiqués sera renvoyé. Une liste de filtres vide renvoie tous les appareils pour lesquels l'application dispose d'une autorisation.

  • productId

    number facultatif

    Obsolète

    Équivaut à définir DeviceFilter.productId.

  • vendorId

    number facultatif

    Obsolète

    Équivaut à définir DeviceFilter.vendorId.

HidCollectionInfo

Propriétés

  • reportIds

    number[]

    ID de rapport appartenant à la collection et à ses enfants.

  • utilisation

    nombre

    Identifiant d'utilisation défini par la page.

  • usagePage

    nombre

    Identifiant de la page d'utilisation HID.

HidConnectInfo

Propriétés

  • connectionId

    nombre

    ID opaque utilisé pour identifier cette connexion dans toutes les autres fonctions.

HidDeviceInfo

Propriétés

  • collections

    Collections de premier niveau des descripteurs de rapport de cet appareil.

  • deviceId

    nombre

    ID d'appareil opaque.

  • maxFeatureReportSize

    nombre

    Taille maximale du rapport sur les caractéristiques de la collection de premier niveau.

  • maxInputReportSize

    nombre

    Taille maximale du rapport d'entrée de la collection de premier niveau.

  • maxOutputReportSize

    nombre

    Taille maximale du rapport de sortie de la collection de premier niveau.

  • productId

    nombre

    ID produit.

  • productName

    chaîne

    Chrome 46 ou version ultérieure

    Nom du produit lu sur l'appareil, s'il est disponible.

  • reportDescriptor

    ArrayBuffer

    Descripteur de rapport d'appareil brut (non disponible sous Windows).

  • serialNumber

    chaîne

    Chrome 46 ou version ultérieure

    Numéro de série lu sur l'appareil, si disponible.

  • vendorId

    nombre

    ID du fournisseur.

Méthodes

connect()

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

Ouvrez une connexion à un appareil HID pour communiquer.

Paramètres

Renvoie

  • Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

disconnect()

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

Se déconnecter d'un appareil L'appel d'opérations sur un appareil après l'appel de cette méthode est sûr, mais n'a aucun effet.

Paramètres

  • connectionId

    nombre

    connectionId renvoyé par connect.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getDevices()

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

Énumérer les appareils HID connectés.

Paramètres

  • Propriétés à rechercher sur les appareils cibles.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (devices: HidDeviceInfo[]) => void

Renvoie

  • Promise<HidDeviceInfo[]>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

receive()

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

Recevoir le prochain rapport d'entrée de l'appareil.

Paramètres

  • connectionId

    nombre

    connectionId renvoyé par connect.

  • callback

    fonction

    Le paramètre callback se présente comme suit :

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

    • reportId

      nombre

      ID du rapport ou 0 s'il n'y en a pas.

    • données

      ArrayBuffer

      Les données de rapport et le préfixe de l'ID de rapport (le cas échéant) sont supprimés.

receiveFeatureReport()

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

Demander un rapport de fonctionnalité à partir de l'appareil.

Paramètres

  • connectionId

    nombre

    connectionId renvoyé par connect.

  • reportId

    nombre

    ID du rapport, ou 0 si aucun n'est défini.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (data: ArrayBuffer) => void

    • données

      ArrayBuffer

      Les données du rapport, y compris un préfixe d'ID de rapport s'il est envoyé par l'appareil.

Renvoie

  • Promise<ArrayBuffer>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

send()

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

Envoyer un rapport de sortie à l'appareil.

Remarque : N'incluez pas de préfixe d'ID de rapport dans data. Il sera ajouté si nécessaire.

Paramètres

  • connectionId

    nombre

    connectionId renvoyé par connect.

  • reportId

    nombre

    ID du rapport à utiliser, ou 0 si aucun n'est défini.

  • données

    ArrayBuffer

    Données du rapport.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

sendFeatureReport()

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

Envoyez un rapport de fonctionnalité à l'appareil.

Remarque : N'incluez pas de préfixe d'ID de rapport dans data. Il sera ajouté si nécessaire.

Paramètres

  • connectionId

    nombre

    connectionId renvoyé par connect.

  • reportId

    nombre

    ID du rapport à utiliser, ou 0 si aucun n'est défini.

  • données

    ArrayBuffer

    Données du rapport.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 117 ou version ultérieure

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

Événements

onDeviceAdded

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

Événement généré lorsqu'un appareil est ajouté au système. Les événements ne sont diffusés qu'aux applications et extensions autorisées à accéder à l'appareil. L'autorisation peut avoir été accordée au moment de l'installation ou lorsque l'utilisateur a accepté une autorisation facultative (voir permissions.request).

Paramètres

onDeviceRemoved

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

Événement généré lorsqu'un appareil est supprimé du système. Consultez onDeviceAdded pour savoir quels événements sont diffusés.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (deviceId: number) => void

    • deviceId

      nombre