klasa USB_HID – USB uređaj za interakciju s čovjekom (HID)

Klasa USB_HID predstavlja sučelje USB uređaja za interakciju s čovjekom (HID) na OpenMV Cam. Može se koristiti za emuliranje periferije poput miša ili tipkovnice.

Prije konstruiranja USB_HID objekta pozovite pyb.usb_mode() s načinom rada koji uključuje HID (npr. 'VCP+HID') – time se nabraja USB HID klasa na hostu. Deskriptor izvješća proslijeđen funkciji usb_mode odabire klasu uređaja; unaprijed izgrađene n-torke dostupne su kao pyb.hid_mouse i pyb.hid_keyboard.

Primjer – pošaljite lijevi klik miša, a zatim ga pomaknite 5 piksela udesno:

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

Konstruktori

class pyb.USB_HID

Stvara novi USB_HID objekt. Postoji samo jedno HID sučelje, pa konstruktor vraća singleton objekt.

Metode

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

Šalje HID ulazno izvješće USB hostu.

data je n-torka/lista cijelih brojeva ili bytes-oliki međuspremnik čiji raspored ovisi o deskriptoru izvješća koji se koristi. Za ugrađeni deskriptor miša izvješće je (buttons, dx, dy, wheel); za deskriptor tipkovnice je (modifiers, 0, key1, key2, key3, key4, key5, key6). Pogledajte pyb.hid_mouse i pyb.hid_keyboard.

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

Prima HID izlazno izvješće od USB hosta (npr. stanje LED dioda tipkovnice). Vraća se odmah ako je izvješće već u međuspremniku.

  • data je ili int (broj bajtova za čitanje u novi međuspremnik) ili promjenjivi međuspremnik koji se popunjava primljenim bajtovima.

  • timeout je maksimalno vrijeme u milisekundama za čekanje na izvješće.

Ako je data cijeli broj, vraća se novi bytes objekt; inače se vraća broj bajtova zapisanih u data.