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 veya bytes benzeri 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_mouse ve pyb.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.

  • data ya bir int (yeni bir arabelleğe okunacak bayt sayısı) ya da alınan baytlarla doldurulacak değiştirilebilir bir arabellektir.

  • timeout bir rapor için beklenecek milisaniye cinsinden maksimum süredir.

data bir tamsayıysa yeni bir bytes nesnesi döndürülür; aksi takdirde data içine yazılan bayt sayısı döndürülür.