classe USB_HID – Dispositivo de Interface Humana (HID) USB

A classe USB_HID representa a interface de Dispositivo de Interface Humana (HID) USB da OpenMV Cam. Ela pode ser usada para emular um periférico como um mouse ou teclado.

Antes de construir um objeto USB_HID, chame pyb.usb_mode() com um modo que inclua HID (por exemplo, 'VCP+HID') – isso enumera a classe USB HID no host. O descritor de relatório passado para usb_mode seleciona a classe do dispositivo; tuplas pré-construídas estão disponíveis como pyb.hid_mouse e pyb.hid_keyboard.

Exemplo – envia um clique com o botão esquerdo do mouse e depois o move 5 pixels para a direita:

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

Construtores

class pyb.USB_HID

Cria um novo objeto USB_HID. Há apenas uma interface HID, portanto o construtor retorna o objeto singleton.

Métodos

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

Envia um relatório de entrada HID para o host USB.

data é uma tupla/lista de inteiros ou um buffer do tipo bytes cujo layout depende do descritor de relatório em uso. Para o descritor de mouse embutido, o relatório é (buttons, dx, dy, wheel); para o descritor de teclado, é (modifiers, 0, key1, key2, key3, key4, key5, key6). Consulte pyb.hid_mouse e pyb.hid_keyboard.

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

Recebe um relatório de saída HID do host USB (por exemplo, o estado dos LEDs do teclado). Retorna imediatamente se um relatório já estiver em buffer.

  • data é um int (o número de bytes a serem lidos para um novo buffer) ou um buffer mutável a ser preenchido com os bytes recebidos.

  • timeout é o tempo máximo em milissegundos para aguardar um relatório.

Se data for um inteiro, um novo objeto bytes é retornado; caso contrário, o número de bytes escritos em data é retornado.