clase USB_HID – Dispositivo de Interfaz Humana USB (HID)¶
La clase USB_HID representa la interfaz de Dispositivo de Interfaz Humana USB de la OpenMV Cam. Puede usarse para emular un periférico como un ratón o un teclado.
Antes de construir un objeto USB_HID, llame a pyb.usb_mode() con un modo que incluya HID (p. ej. 'VCP+HID') – esto enumera la clase USB HID en el host. El descriptor de informe pasado a usb_mode selecciona la clase del dispositivo; hay tuplas predefinidas disponibles como pyb.hid_mouse y pyb.hid_keyboard.
Ejemplo – enviar un clic izquierdo del ratón y luego moverlo 5 píxeles a la derecha:
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
Constructores¶
- class pyb.USB_HID¶
Crea un nuevo objeto USB_HID. Solo hay una interfaz HID, por lo que el constructor devuelve el objeto singleton.
Métodos¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
Envía un informe de entrada HID al host USB.
dataes una tupla/lista de enteros o un búfer de tipobytescuya disposición depende del descriptor de informe en uso. Para el descriptor de ratón integrado, el informe es(buttons, dx, dy, wheel); para el descriptor de teclado es(modifiers, 0, key1, key2, key3, key4, key5, key6). Consultepyb.hid_mouseypyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Recibe un informe de salida HID del host USB (p. ej. el estado de los LED del teclado). Devuelve inmediatamente si ya hay un informe en el búfer.
dataes o bien unint(el número de bytes que leer en un búfer nuevo) o un búfer mutable que llenar con los bytes recibidos.timeoutes el tiempo máximo en milisegundos que esperar un informe.
Si
dataes un entero, se devuelve un objetobytesnuevo; de lo contrario, se devuelve el número de bytes escritos endata.