class USB_HID – USB 휴먼 인터페이스 장치(HID)

USB_HID 클래스는 OpenMV Cam의 USB 휴먼 인터페이스 장치 인터페이스를 나타냅니다. 마우스나 키보드와 같은 주변장치를 에뮬레이트하는 데 사용할 수 있습니다.

USB_HID 객체를 생성하기 전에, HID를 포함하는 모드(예: 'VCP+HID')로 pyb.usb_mode()를 호출하십시오. 이렇게 하면 호스트에서 USB HID 클래스가 열거됩니다. usb_mode에 전달된 리포트 디스크립터가 장치 클래스를 선택합니다. 미리 만들어진 튜플은 pyb.hid_mousepyb.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 인터페이스는 하나뿐이므로 생성자는 싱글톤 객체를 반환합니다.

메서드

send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None

USB 호스트에 HID 입력 리포트를 보냅니다.

data는 정수의 튜플/리스트 또는 bytes류 버퍼이며, 그 레이아웃은 사용 중인 리포트 디스크립터에 따라 달라집니다. 내장 마우스 디스크립터의 경우 리포트는 (buttons, dx, dy, wheel)이고, 키보드 디스크립터의 경우 (modifiers, 0, key1, key2, key3, key4, key5, key6)입니다. pyb.hid_mousepyb.hid_keyboard를 참조하십시오.

recv(data: int | bytearray, *, timeout: int = 5000) bytes | int

USB 호스트로부터 HID 출력 리포트(예: 키보드 LED 상태)를 수신합니다. 리포트가 이미 버퍼링되어 있으면 즉시 반환합니다.

  • dataint (새 버퍼로 읽어들일 바이트 수) 이거나, 수신한 바이트로 채울 가변 버퍼입니다.

  • timeout은 리포트를 기다리는 최대 시간으로, 밀리초 단위입니다.

data가 정수이면 새 bytes 객체가 반환되고, 그렇지 않으면 data에 쓰인 바이트 수가 반환됩니다.