מחלקה USB_HID – התקן ממשק אנושי של USB (HID)

המחלקה USB_HID מייצגת את ממשק ההתקן ממשק האנושי (Human Interface Device) ב-USB של ה-OpenMV Cam. ניתן להשתמש בה כדי לחקות התקן היקפי כגון עכבר או מקלדת.

לפני בניית אובייקט USB_HID, קראו ל-pyb.usb_mode() עם מצב הכולל HID (למשל 'VCP+HID') – זה מבצע אנומרציה למחלקת USB HID במארח. מתאר הדיווח המועבר אל usb_mode בוחר את מחלקת ההתקן; tuples מוכנים מראש זמינים כ-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 הוא tuple/רשימה של מספרים שלמים או חוצץ דמוי-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.