class USB_HID – USB İnsan Arabirim Aygıtı (HID)¶
USB_HID sınıfı, OpenMV Cam’in USB İnsan Arabirim Aygıtı arabirimini temsil eder. Fare veya klavye gibi bir çevre birimini taklit etmek için kullanılabilir.
Bir USB_HID nesnesi oluşturmadan önce, pyb.usb_mode() fonksiyonunu HID içeren bir modla çağırın (örneğin 'VCP+HID') – bu, ana makinede USB HID sınıfını numaralandırır. usb_mode fonksiyonuna geçirilen rapor tanımlayıcısı aygıt sınıfını seçer; önceden oluşturulmuş tuple’lar pyb.hid_mouse ve pyb.hid_keyboard olarak mevcuttur.
Örnek – bir fare sol tık gönderip ardından 5 piksel sağa hareket ettir:
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
Yapıcılar¶
- class pyb.USB_HID¶
Yeni bir USB_HID nesnesi oluşturur. Yalnızca bir HID arabirimi vardır, dolayısıyla yapıcı tekil (singleton) nesneyi döndürür.
Yöntemler¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
USB ana makinesine bir HID girdi raporu gönderir.
data, düzeni kullanımdaki rapor tanımlayıcısına bağlı olan bir tamsayı tuple’ı/listesi veyabytesbenzeri bir arabellektir. Yerleşik fare tanımlayıcısı için rapor(buttons, dx, dy, wheel)şeklindedir; klavye tanımlayıcısı için(modifiers, 0, key1, key2, key3, key4, key5, key6)şeklindedir. Bkz.pyb.hid_mousevepyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
USB ana makinesinden bir HID çıkış raporu alır (örneğin klavye LED durumu). Bir rapor zaten arabelleğe alınmışsa hemen döner.
dataya birint(yeni bir arabelleğe okunacak bayt sayısı) ya da alınan baytlarla doldurulacak değiştirilebilir bir arabellektir.timeoutbir rapor için beklenecek milisaniye cinsinden maksimum süredir.
databir tamsayıysa yeni birbytesnesnesi döndürülür; aksi takdirdedataiçine yazılan bayt sayısı döndürülür.