Description
Utiliser l'API chrome.hid
pour interagir avec les appareils HID connectés Cette API permet d'accéder aux opérations HID depuis une application. À l'aide de cette API, les applications peuvent fonctionner comme pilotes de 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 sont pas définis.
Autorisations
hid
Types
DeviceFilter
Propriétés
-
productId
numéro facultatif
ID produit de l'appareil, coché uniquement si l'ID du fournisseur correspond.
-
utilisation
numéro facultatif
Identifiant d'utilisation HID, coché uniquement si la page d'utilisation HID correspond.
-
usagePage
numéro facultatif
Identifiant de page d'utilisation HID.
-
vendorId
numéro 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 affichera tous les appareils pour lesquels l'application est autorisée.
-
productId
numéro facultatif
<ph type="x-smartling-placeholder"></ph> ObsolèteCela équivaut à définir
DeviceFilter.productId
. -
vendorId
numéro facultatif
<ph type="x-smartling-placeholder"></ph> ObsolèteCela équivaut à définir
DeviceFilter.vendorId
.
HidCollectionInfo
Propriétés
-
reportIds
numéro[]
ID de rapport qui appartiennent à la collection et à ses enfants
-
utilisation
Nombre
Identifiant d'utilisation défini par la page.
-
usagePage
Nombre
Identifiant de 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 issues des descripteurs de rapport de cet appareil.
-
deviceId
Nombre
ID de l'appareil opaque.
-
maxFeatureReportSize
Nombre
Taille maximale du rapport sur les fonctionnalités 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 la collection de premier niveau.
-
productId
Nombre
ID produit.
-
productName
chaîne
Chrome (version 46 ou ultérieure)Nom du produit lu sur l'appareil, le cas échéant.
-
reportDescriptor
ArrayBuffer
Descripteur du rapport brut sur l'appareil (non disponible sous Windows).
-
serialNumber
chaîne
Chrome (version 46 ou ultérieure)Numéro de série lu sur l'appareil, le cas échéant.
-
vendorId
Nombre
ID du fournisseur.
Méthodes
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
)
Connectez-vous à un appareil HID pour communiquer.
Paramètres
-
deviceId
Nombre
Le
HidDeviceInfo.deviceId
de l'appareil à ouvrir. -
rappel
function facultatif
Le paramètre
callback
se 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 versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
chrome.hid.disconnect(
connectionId: number,
callback?: function,
)
Se déconnecter d'un appareil Vous pouvez appeler des opérations sur un appareil après l'avoir appelée, mais cela n'a aucun effet.
Paramètres
-
connectionId
Nombre
Le
connectionId
renvoyé parconnect
. -
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getDevices()
chrome.hid.getDevices(
options: GetDevicesOptions,
callback?: function,
)
Énumérer les appareils HID connectés
Paramètres
-
options
Propriétés à rechercher sur les appareils cibles.
-
rappel
function facultatif
Le paramètre
callback
se 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 versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
receive()
chrome.hid.receive(
connectionId: number,
callback: function,
)
Recevoir le rapport d'entrée suivant de l'appareil.
Paramètres
-
connectionId
Nombre
Le
connectionId
renvoyé parconnect
. -
rappel
fonction
Le paramètre
callback
se présente comme suit:(reportId: number, data: ArrayBuffer) => void
-
reportId
Nombre
ID du rapport, ou
0
le cas échéant. -
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()
chrome.hid.receiveFeatureReport(
connectionId: number,
reportId: number,
callback?: function,
)
Demandez un rapport sur les fonctionnalités à partir de l'appareil.
Paramètres
-
connectionId
Nombre
Le
connectionId
renvoyé parconnect
. -
reportId
Nombre
ID du rapport, ou
0
si aucun -
rappel
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 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
send()
chrome.hid.send(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
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
Le
connectionId
renvoyé parconnect
. -
reportId
Nombre
ID de rapport à utiliser, ou
0
si aucun rapport n'est défini. -
données
ArrayBuffer
Données du rapport.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
sendFeatureReport()
chrome.hid.sendFeatureReport(
connectionId: number,
reportId: number,
data: ArrayBuffer,
callback?: function,
)
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
Le
connectionId
renvoyé parconnect
. -
reportId
Nombre
ID de rapport à utiliser, ou
0
si aucun rapport n'est défini. -
données
ArrayBuffer
Données du rapport.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 117 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et 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
-
rappel
fonction
Le paramètre
callback
se 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
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(deviceId: number) => void
-
deviceId
Nombre
-