classe USB_HID – périphérique d’interface humaine USB (HID)

La classe USB_HID représente l’interface de périphérique d’interface humaine (HID) USB de l’OpenMV Cam. Elle peut être utilisée pour émuler un périphérique tel qu’une souris ou un clavier.

Avant de construire un objet USB_HID, appelez pyb.usb_mode() avec un mode qui inclut HID (par ex. 'VCP+HID') – cela énumère la classe USB HID sur l’hôte. Le descripteur de rapport passé à usb_mode sélectionne la classe de périphérique ; des tuples préconstruits sont disponibles sous pyb.hid_mouse et pyb.hid_keyboard.

Exemple – envoyer un clic gauche de souris puis la déplacer de 5 pixels vers la droite

import pyb

pyb.usb_mode("VCP+HID", hid=pyb.hid_mouse)
hid = pyb.USB_HID()

# report layout: (buttons, dx, dy, wheel)
hid.send((1, 0, 0, 0))   # press left button
hid.send((0, 0, 0, 0))   # release
hid.send((0, 5, 0, 0))   # move +5 in X

Constructeurs

class pyb.USB_HID

Crée un nouvel objet USB_HID. Il n’y a qu’une seule interface HID, donc le constructeur renvoie l’objet singleton.

Méthodes

send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None

Envoie un rapport d’entrée HID à l’hôte USB.

data est un tuple/une liste d’entiers ou un tampon de type bytes dont la disposition dépend du descripteur de rapport utilisé. Pour le descripteur de souris intégré, le rapport est (buttons, dx, dy, wheel) ; pour le descripteur de clavier, il est (modifiers, 0, key1, key2, key3, key4, key5, key6). Voir pyb.hid_mouse et pyb.hid_keyboard.

recv(data: int | bytearray, *, timeout: int = 5000) bytes | int

Reçoit un rapport de sortie HID depuis l’hôte USB (par ex. l’état des LED du clavier). Renvoie immédiatement si un rapport est déjà en tampon.

  • data est soit un int (le nombre d’octets à lire dans un nouveau tampon), soit un tampon mutable à remplir avec les octets reçus.

  • timeout est le temps maximal en millisecondes à attendre pour un rapport.

Si data est un entier, un nouvel objet bytes est renvoyé ; sinon, le nombre d’octets écrits dans data est renvoyé.