class USB_HID – USB Human Interface Device (HID)

USB_HID-luokka edustaa OpenMV Camin USB Human Interface Device -rajapintaa. Sitä voidaan käyttää oheislaitteen, kuten hiiren tai näppäimistön, emulointiin.

Ennen USB_HID-objektin muodostamista kutsu pyb.usb_mode() tilalla, joka sisältää HID:n (esim. 'VCP+HID') – tämä luetteloi USB HID -luokan isäntäkoneella. Funktiolle usb_mode välitettävä raporttikuvaaja valitsee laiteluokan; valmiit monikot ovat saatavilla nimillä pyb.hid_mouse ja pyb.hid_keyboard.

Esimerkki – lähetä hiiren vasen napsautus ja siirrä sitä sitten 5 pikseliä oikealle:

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

Konstruktorit

class pyb.USB_HID

Luo uuden USB_HID-objektin. HID-rajapintoja on vain yksi, joten konstruktori palauttaa singleton-objektin.

Metodit

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

Lähettää HID-tuloraportin USB-isäntäkoneelle.

data on monikko/lista kokonaislukuja tai bytes-tyyppinen puskuri, jonka muoto riippuu käytössä olevasta raporttikuvaajasta. Sisäänrakennetulle hiiren kuvaajalle raportti on (buttons, dx, dy, wheel); näppäimistön kuvaajalle se on (modifiers, 0, key1, key2, key3, key4, key5, key6). Katso pyb.hid_mouse ja pyb.hid_keyboard.

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

Vastaanottaa HID-lähtöraportin USB-isäntäkoneelta (esim. näppäimistön LED-tilan). Palaa välittömästi, jos raportti on jo puskuroitu.

  • data on joko int (uuteen puskuriin luettavien tavujen määrä) tai muokattava puskuri, joka täytetään vastaanotetuilla tavuilla.

  • timeout on enimmäisaika millisekunteina, jonka verran raporttia odotetaan.

Jos data on kokonaisluku, palautetaan uusi bytes-objekti; muutoin palautetaan kohteeseen data kirjoitettujen tavujen määrä.