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
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 à un filtre donné sera renvoyé. Si la liste de filtres est vide, tous les appareils pour lesquels l'application dispose d'une autorisation seront renvoyés.
-
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
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 issues 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 du 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 de périphérique 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
nombre
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
nombre
HidDeviceInfo.deviceIdde l'appareil à ouvrir. -
callback
fonction facultative
Le paramètre
callbackse 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
nombre
connectionIdrenvoyé parconnect. -
callback
fonction facultative
Le paramètre
callbackse 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
fonction facultative
Le paramètre
callbackse 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
nombre
connectionIdrenvoyé parconnect. -
callback
fonction
Le paramètre
callbackse présente comme suit :(reportId: number, data: ArrayBuffer) => void
-
reportId
nombre
ID du rapport ou
0si 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é à l'appareil.
Paramètres
-
connectionId
nombre
connectionIdrenvoyé parconnect. -
reportId
nombre
ID du rapport, ou
0si aucun. -
callback
fonction facultative
Le paramètre
callbackse 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
nombre
connectionIdrenvoyé parconnect. -
reportId
nombre
ID du rapport à utiliser ou
0si aucun. -
données
ArrayBuffer
Données du rapport.
-
callback
fonction facultative
Le paramètre
callbackse 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 sur les fonctionnalités à 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. -
données
ArrayBuffer
Données du rapport.
-
callback
fonction facultative
Le paramètre
callbackse 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
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. Pour savoir quels événements sont transmis, consultez onDeviceAdded.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(deviceId: number) => void
-
deviceId
nombre
-