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érieuresNom 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érieuresNuméro de série lu à partir de l'appareil, le cas échéant.
-
vendorId
Total
ID du fournisseur.
Méthodes
connect()
chrome.hid.connect(
deviceId: number,
callback?: function,
): Promise<HidConnectInfo>
Ouvrez une connexion à un périphérique HID pour communiquer avec lui.
Paramètres
-
deviceId
Total
Le
HidDeviceInfo.deviceId
de l'appareil à ouvrir. -
callback
function facultatif
Le paramètre
callback
se présente comme suit :(connection: HidConnectInfo) => void
-
connexion
-
Renvoie
-
Promise<HidConnectInfo>
Chrome 117 et versions ultérieuresLes 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>
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é parconnect
. -
callback
function facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 117 et versions ultérieuresLes 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
callback
se présente comme suit :(devices: HidDeviceInfo[]) => void
-
appareils
-
Renvoie
-
Promise<HidDeviceInfo[]>
Chrome 117 et versions ultérieuresLes 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é parconnect
. -
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()
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é parconnect
. -
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érieuresLes 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>
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é parconnect
. -
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érieuresLes 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
Total
connectionId
renvoyé parconnect
. -
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érieuresLes 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
-
callback
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 transmis.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(deviceId: number) => void
-
deviceId
Total
-