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 tipobytescujo 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). Consultepyb.hid_mouseepyb.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é umint(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
datafor um inteiro, um novo objetobytesé retornado; caso contrário, o número de bytes escritos emdataé retornado.