клас USB_HID – пристрій USB Human Interface Device (HID)

Клас USB_HID представляє інтерфейс USB Human Interface Device OpenMV Cam. Його можна використовувати для емуляції периферійного пристрою, такого як миша або клавіатура.

Перед створенням об’єкта USB_HID викличте pyb.usb_mode() з режимом, що включає HID (наприклад, 'VCP+HID') – це перераховує клас USB HID на хості. Дескриптор звіту, переданий до usb_mode, визначає клас пристрою; готові кортежі доступні як pyb.hid_mouse та pyb.hid_keyboard.

Приклад – надіслати лівий клік миші, потім перемістити її на 5 пікселів вправо:

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

Конструктори

class pyb.USB_HID

Створює новий об’єкт USB_HID. Існує лише один інтерфейс HID, тому конструктор повертає об’єкт-одинак.

Методи

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

Надсилає вхідний звіт HID до USB-хоста.

data – це кортеж/список цілих чисел або буфер типу bytes, структура якого залежить від використовуваного дескриптора звіту. Для вбудованого дескриптора миші звіт має вигляд (buttons, dx, dy, wheel); для дескриптора клавіатури – (modifiers, 0, key1, key2, key3, key4, key5, key6). Дивіться pyb.hid_mouse та pyb.hid_keyboard.

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

Отримує вихідний звіт HID від USB-хоста (наприклад, стан LED клавіатури). Повертається негайно, якщо звіт вже є в буфері.

  • data – це або int (кількість байт для читання у новий буфер), або змінний буфер для заповнення отриманими байтами.

  • timeout – це максимальний час очікування звіту в мілісекундах.

Якщо data є цілим числом, повертається новий об’єкт bytes; інакше повертається кількість байт, записаних у data.