lớp USB_HID -- Thiết bị giao diện người dùng USB (HID)

Lớp USB_HID đại diện cho giao diện USB Human Interface Device của OpenMV Cam. Nó có thể được dùng để giả lập ngoại vi như chuột hoặc bàn phím.

Trước khi khởi tạo đối tượng USB_HID, hãy gọi pyb.usb_mode() với một chế độ bao gồm HID (ví dụ 'VCP+HID') -- thao tác này sẽ đăng ký lớp USB HID trên máy chủ. Bộ mô tả báo cáo được truyền vào usb_mode chọn lớp thiết bị; các tuple dựng sẵn có sẵn dưới dạng pyb.hid_mousepyb.hid_keyboard.

Ví dụ -- gửi nhấp chuột trái rồi di chuyển chuột 5 điểm ảnh sang phải:

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

Hàm khởi tạo

class pyb.USB_HID

Tạo đối tượng USB_HID mới. Chỉ có một giao diện HID, nên hàm khởi tạo trả về đối tượng singleton.

Phương thức

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

Gửi báo cáo đầu vào HID tới máy chủ USB.

data là một tuple/list số nguyên hoặc bộ đệm kiểu bytes có bố cục phụ thuộc vào bộ mô tả báo cáo đang dùng. Đối với bộ mô tả chuột tích hợp, báo cáo là (buttons, dx, dy, wheel); đối với bộ mô tả bàn phím là (modifiers, 0, key1, key2, key3, key4, key5, key6). Xem pyb.hid_mousepyb.hid_keyboard.

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

Nhận báo cáo đầu ra HID từ máy chủ USB (ví dụ: trạng thái đèn LED bàn phím). Trả về ngay lập tức nếu đã có báo cáo trong bộ đệm.

  • data là một int (số byte cần đọc vào bộ đệm mới) hoặc một bộ đệm có thể ghi để điền bằng các byte nhận được.

  • timeout là thời gian tối đa tính bằng mili giây để chờ báo cáo.

Nếu data là số nguyên thì trả về đối tượng bytes mới; ngược lại trả về số byte đã ghi vào data.