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.
dataest un tuple/une liste d’entiers ou un tampon de typebytesdont 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). Voirpyb.hid_mouseetpyb.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.
dataest soit unint(le nombre d’octets à lire dans un nouveau tampon), soit un tampon mutable à remplir avec les octets reçus.timeoutest le temps maximal en millisecondes à attendre pour un rapport.
Si
dataest un entier, un nouvel objetbytesest renvoyé ; sinon, le nombre d’octets écrits dansdataest renvoyé.