klassen USB_HID – USB Human Interface Device (HID)¶
Klassen USB_HID representerar OpenMV Cam:ens gränssnitt för USB Human Interface Device. Den kan användas för att emulera en kringutrustning som en mus eller ett tangentbord.
Innan du konstruerar ett USB_HID-objekt, anropa pyb.usb_mode() med ett läge som inkluderar HID (t.ex. 'VCP+HID') – detta enumererar USB HID-klassen på värden. Rapportdeskriptorn som skickas till usb_mode väljer enhetsklassen; färdigbyggda tupler finns tillgängliga som pyb.hid_mouse och pyb.hid_keyboard.
Exempel – skicka ett vänsterklick med musen och flytta den sedan 5 pixlar åt höger:
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
Konstruktorer¶
- class pyb.USB_HID¶
Skapa ett nytt USB_HID-objekt. Det finns endast ett HID-gränssnitt, så konstruktorn returnerar singleton-objektet.
Metoder¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
Skicka en HID-inmatningsrapport till USB-värden.
dataär en tupel/lista med heltal eller enbytes-liknande buffert vars layout beror på vilken rapportdeskriptor som används. För den inbyggda musdeskriptorn är rapporten(buttons, dx, dy, wheel); för tangentbordsdeskriptorn är den(modifiers, 0, key1, key2, key3, key4, key5, key6). Sepyb.hid_mouseochpyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Ta emot en HID-utmatningsrapport från USB-värden (t.ex. tangentbordets LED-status). Returnerar omedelbart om en rapport redan är buffrad.
dataär antingen ettint(antalet byte som ska läsas in i en ny buffert) eller en muterbar buffert som ska fyllas med mottagna byte.timeoutär den maximala tiden i millisekunder att vänta på en rapport.
Om
dataär ett heltal returneras ett nyttbytes-objekt; annars returneras antalet byte som skrevs in idata.