คลาส USB_HID -- อุปกรณ์อินเทอร์เฟซของมนุษย์ USB (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 เพียงตัวเดียว ดังนั้นคอนสตรักเตอร์จะคืนค่าออบเจกต์ singleton
เมธอด¶
- 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