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.

data es una tupla/lista de enteros o un búfer de tipo bytes cuya 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). Consulte pyb.hid_mouse y pyb.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.

  • data es o bien un int (el número de bytes que leer en un búfer nuevo) o un búfer mutable que llenar con los bytes recibidos.

  • timeout es el tiempo máximo en milisegundos que esperar un informe.

Si data es un entero, se devuelve un objeto bytes nuevo; de lo contrario, se devuelve el número de bytes escritos en data.