klasa USB_HID – urządzenie interfejsu człowieka USB (HID)¶
Klasa USB_HID reprezentuje interfejs urządzenia interfejsu człowieka (HID) USB w OpenMV Cam. Można jej użyć do emulacji urządzenia peryferyjnego, takiego jak mysz lub klawiatura.
Przed utworzeniem obiektu USB_HID wywołaj pyb.usb_mode() z trybem zawierającym HID (np. 'VCP+HID') – spowoduje to wyliczenie klasy USB HID na hoście. Deskryptor raportu przekazywany do usb_mode wybiera klasę urządzenia; gotowe krotki są dostępne jako pyb.hid_mouse i pyb.hid_keyboard.
Przykład – wyślij lewe kliknięcie myszy, a następnie przesuń ją o 5 pikseli w prawo:
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
Konstruktory¶
- class pyb.USB_HID¶
Tworzy nowy obiekt USB_HID. Istnieje tylko jeden interfejs HID, więc konstruktor zwraca obiekt singleton.
Metody¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
Wysyła raport wejściowy HID do hosta USB.
datato krotka/lista liczb całkowitych lub bufor podobny dobytes, którego układ zależy od używanego deskryptora raportu. Dla wbudowanego deskryptora myszy raport ma postać(buttons, dx, dy, wheel); dla deskryptora klawiatury jest to(modifiers, 0, key1, key2, key3, key4, key5, key6). Zobaczpyb.hid_mouseipyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Odbiera raport wyjściowy HID z hosta USB (np. stan diod LED klawiatury). Zwraca natychmiast, jeśli raport jest już zbuforowany.
datato alboint(liczba bajtów do odczytania do nowego bufora), albo modyfikowalny bufor do wypełnienia odebranymi bajtami.timeoutto maksymalny czas w milisekundach oczekiwania na raport.
Jeśli
datajest liczbą całkowitą, zwracany jest nowy obiektbytes; w przeciwnym razie zwracana jest liczba bajtów zapisanych dodata.