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.