kelas USB_HID -- USB Human Interface Device (HID)

Kelas USB_HID merepresentasikan antarmuka USB Human Interface Device pada OpenMV Cam. Dapat digunakan untuk mengemulasi periferal seperti mouse atau keyboard.

Sebelum membuat objek USB_HID, panggil pyb.usb_mode() dengan mode yang mencakup HID (misalnya 'VCP+HID') -- ini mendaftarkan kelas USB HID pada host. Deskriptor laporan yang diteruskan ke usb_mode memilih kelas perangkat; tuple bawaan tersedia sebagai pyb.hid_mouse dan pyb.hid_keyboard.

Contoh -- kirim klik kiri mouse kemudian pindahkan 5 piksel ke kanan:

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

Konstruktor

class pyb.USB_HID

Membuat objek USB_HID baru. Hanya ada satu antarmuka HID, sehingga konstruktor mengembalikan objek singleton.

Metode

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

Mengirim laporan input HID ke host USB.

data adalah tuple/list integer atau buffer seperti bytes yang tata letaknya bergantung pada deskriptor laporan yang digunakan. Untuk deskriptor mouse bawaan laporannya adalah (buttons, dx, dy, wheel); untuk deskriptor keyboard adalah (modifiers, 0, key1, key2, key3, key4, key5, key6). Lihat pyb.hid_mouse dan pyb.hid_keyboard.

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

Menerima laporan output HID dari host USB (misalnya status LED keyboard). Langsung dikembalikan jika laporan sudah ada dalam buffer.

  • data adalah int (jumlah byte yang dibaca ke buffer baru) atau buffer yang dapat diubah untuk diisi dengan byte yang diterima.

  • timeout adalah waktu maksimum dalam milidetik untuk menunggu laporan.

Jika data adalah integer maka objek bytes baru dikembalikan; jika tidak, jumlah byte yang ditulis ke dalam data dikembalikan.