клас 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.