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 depuis le contexte d'une application. Grâce à cette API, les applications peuvent servir de pilotes pour les appareils 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 régulier de la fonction. Dans ce cas, les paramètres habituels 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 à un filtre donné 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 des rapports appartenant à la collection et à ses enfants.

  • utilisation

    Total

    Identifiant d'utilisation défini par la page.

  • usagePage

    Total

    Identifiant de la page d'utilisation HID.

HidConnectInfo

Propriétés

  • connectionId

    Total

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

HidDeviceInfo

Propriétés

  • collections

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

  • deviceId

    Total

    ID d'appareil opaque.

  • maxFeatureReportSize

    Total

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

  • maxInputReportSize

    Total

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

  • maxOutputReportSize

    Total

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

  • productId

    Total

    ID produit.

  • productName

    chaîne

    Chrome 46 et versions ultérieures

    Nom du produit lu à partir de l'appareil, s'il est disponible.

  • reportDescriptor

    ArrayBuffer

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

  • serialNumber

    chaîne

    Chrome 46 et versions ultérieures

    Numéro de série lu à partir de l'appareil, le cas échéant.

  • vendorId

    Total

    ID du fournisseur.

Méthodes

connect()

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

Ouvrez une connexion à un périphérique HID pour communiquer avec lui.

Paramètres

Renvoie

  • Chrome 117 et versions ultérieures

    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>

Déconnectez-vous 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

    Total

    connectionId renvoyé par connect.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    Chrome 117 et versions ultérieures

    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 et versions ultérieures

    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

Reçoit le prochain rapport d'entrée de l'appareil.

Paramètres

  • connectionId

    Total

    connectionId renvoyé par connect.

  • callback

    fonction

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

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

    • reportId

      Total

      ID du rapport ou 0 si aucun n'est disponible.

    • données

      ArrayBuffer

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

receiveFeatureReport()

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

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

Paramètres

  • connectionId

    Total

    connectionId renvoyé par connect.

  • reportId

    Total

    ID du rapport, ou 0 si aucun.

  • callback

    function facultatif

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

    (data: ArrayBuffer) => void

    • données

      ArrayBuffer

      Données du rapport, y compris un préfixe d'ID de rapport, le cas échéant, envoyé par l'appareil.

Renvoie

  • Promise<ArrayBuffer>

    Chrome 117 et versions ultérieures

    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>

Envoyez 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

    Total

    connectionId renvoyé par connect.

  • reportId

    Total

    ID du rapport à utiliser, ou 0 si aucun.

  • 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 et versions ultérieures

    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

    Total

    connectionId renvoyé par connect.

  • reportId

    Total

    ID du rapport à utiliser, ou 0 si aucun.

  • 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 et versions ultérieures

    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 lors 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 transmis.

Paramètres

  • callback

    fonction

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

    (deviceId: number) => void

    • deviceId

      Total