class USB_HID -- جهاز واجهة بشرية عبر USB (HID)¶
تمثّل فئة USB_HID واجهة جهاز الواجهة البشرية USB الخاصة بـ 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.