מחלקה 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.