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_mouse và pyb.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.
datalà một tuple/list số nguyên hoặc bộ đệm kiểubytescó 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). Xempyb.hid_mousevàpyb.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.
datalà mộtint(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.timeoutlà thời gian tối đa tính bằng mili giây để chờ báo cáo.
Nếu
datalà số nguyên thì trả về đối tượngbytesmới; ngược lại trả về số byte đã ghi vàodata.