třída USB_HID – USB Human Interface Device (HID)¶
Třída USB_HID představuje rozhraní USB Human Interface Device kamery OpenMV Cam. Lze ji použít k emulaci periferie, jako je myš nebo klávesnice.
Před vytvořením objektu USB_HID zavolejte pyb.usb_mode() s režimem, který zahrnuje HID (např. 'VCP+HID') – tím se na hostiteli vyčíslí třída USB HID. Deskriptor reportu předaný do usb_mode vybírá třídu zařízení; předpřipravené n-tice jsou k dispozici jako pyb.hid_mouse a pyb.hid_keyboard.
Příklad – odešle levé kliknutí myší a poté ji posune o 5 pixelů doprava:
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
Konstruktory¶
- class pyb.USB_HID¶
Vytvoří nový objekt USB_HID. Existuje pouze jedno rozhraní HID, takže konstruktor vrací singleton objekt.
Metody¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
Odešle vstupní report HID USB hostiteli.
dataje n-tice/seznam celých čísel nebo buffer typubytes, jehož rozložení závisí na použitém deskriptoru reportu. Pro vestavěný deskriptor myši je report(buttons, dx, dy, wheel); pro deskriptor klávesnice je to(modifiers, 0, key1, key2, key3, key4, key5, key6). Vizpyb.hid_mouseapyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Přijme výstupní report HID od USB hostitele (např. stav LED klávesnice). Vrátí se okamžitě, pokud je report již v bufferu.
dataje buďint(počet bajtů, které se mají načíst do nového bufferu), nebo měnitelný buffer, který se naplní přijatými bajty.timeoutje maximální doba v milisekundách pro čekání na report.
Pokud je
datacelé číslo, vrátí se nový objektbytes; jinak se vrátí počet bajtů zapsaných dodata.