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
hidTypes
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érieureNom 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érieureNuméro de série lu sur l'appareil, si disponible.
-
vendorId
nombre
ID du fournisseur.
Méthodes
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Ouvrez une connexion à un appareil HID pour communiquer.
Paramètres
-
deviceId
nombre
HidDeviceInfo.deviceIdde l'appareil à ouvrir. -
callback
function facultatif
Le paramètre
callbackse présente comme suit :(connection: HidConnectInfo) => void
-
connexion
-
Renvoie
-
Promise<HidConnectInfo>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
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
connectionIdrenvoyé parconnect. -
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
): Promise<HidDeviceInfo[]>
Énumérer les appareils HID connectés.
Paramètres
-
options
Propriétés à rechercher sur les appareils cibles.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(devices: HidDeviceInfo[]) => void
-
appareils
-
Renvoie
-
Promise<HidDeviceInfo[]>
Chrome 117 ou version ultérieureLes 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
connectionIdrenvoyé parconnect. -
callback
fonction
Le paramètre
callbackse présente comme suit :(reportId: number, data: ArrayBuffer) => void
-
reportId
nombre
ID du rapport ou
0s'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()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
): Promise<ArrayBuffer>
Demander un rapport de fonctionnalité à partir de l'appareil.
Paramètres
-
connectionId
nombre
connectionIdrenvoyé parconnect. -
reportId
nombre
ID du rapport, ou
0si aucun n'est défini. -
callback
function facultatif
Le paramètre
callbackse 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érieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
send()
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
connectionIdrenvoyé parconnect. -
reportId
nombre
ID du rapport à utiliser, ou
0si aucun n'est défini. -
données
ArrayBuffer
Données du rapport.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
sendFeatureReport()
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
connectionIdrenvoyé parconnect. -
reportId
nombre
ID du rapport à utiliser, ou
0si aucun n'est défini. -
données
ArrayBuffer
Données du rapport.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 117 ou version ultérieureLes 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
-
callback
fonction
Le paramètre
callbackse présente comme suit :(device: HidDeviceInfo) => void
-
appareil
-
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
callbackse présente comme suit :(deviceId: number) => void
-
deviceId
nombre
-