Liigu sisu juurde

Barcode Scanner Emulator

HID-klaviatuurikiil lahti seletatuna

Klaviatuurikiil on valdava enamiku vöötkoodiskannerite vaikerežiim. See juhend selgitab, mis see on, kuidas see USB tasandil töötab ja mida see teie rakenduse testimise jaoks tähendab.

Mis on klaviatuurikiil?

Termin pärineb vanematest jadapordi skanneritest, mis asetati sõna otseses mõttes klaviatuuri ja arvutipordi vahele, püüdsid kinni klaviatuurisignaali ja sisestasid sellesse skannitud märgid. Tänapäevased skannerid ei vaja enam füüsilist vahelepookimist — väljend tähistab nüüd iga skannerit, mis esitab skannitud andmed nii, nagu need oleksid tulnud klaviatuurilt, olenemata ühenduse tüübist.

USB HID ja klaviatuuri emulatsioon

USB määratleb inimese ja seadme liidese (HID) klassi spetsiaalselt klaviatuuride, hiirte ja sarnaste sisendseadmete jaoks. Kui skanner loendab end USB-s HID-klaviatuurina, laadib operatsioonisüsteem oma üldise sisseehitatud klaviatuuridraiveri — skanneripõhist draiverit pole vaja. Skanneri püsivara teisendab iga dekodeeritud märgi HID-klahvikoodiks, mille füüsiline klaviatuur saadaks, ja raportid edastatakse sama katkestussiirde mehhanismi kaudu, mida kasutab iga USB-klaviatuur.

Kuidas teie rakendus skanneri sisendit näeb

Kiire klahvivajutuste purse võrreldes inimese tippimisega: skanner saadab kogu sisu kiire keydown/keyup paaride jadana ja lõpetab tavaliselt alla sekundiga, olenemata vöötkoodi pikkusest.

Hiire sündmusi pole: HID-klaviatuurirežiimis skannerid ei tekita kunagi kursori-, klõpsu- ega fookusesündmusi. Kui teie väli ei ole skannimise hetkel fookuses, läheb sisend kaotsi või jõuab elemendini, millel fookus parasjagu on.

Kleepimissündmusi pole: kuna andmed saabuvad üksikute klahvivajutustena, mitte lõikelaua toiminguna, ei näe paste sündmuste töötlejad skanneri sisendit ja sisendimaskid, mis kuulavad ainult paste sündmust, jätavad selle vaikselt vahele.

Klaviatuuripaigutuse probleemid

Miks ilmuvad valed märgid: skanner vastendab dekodeeritud märgid HID-klahvikoodidele oma seadistatud klaviatuuripaigutuse järgi. Kui see paigutus ei ühti operatsioonisüsteemi klaviatuuripaigutusega, võivad märgid ära vahetuda — klassikaline sümptom on see, et numbrid või kirjavahemärgid skannitakse QWERTY ja AZERTY süsteemides valeks märgiks.

Lokaadi mittevastavus: see on skanneripoolne seadistusprobleem, mitte tarkvaraviga. Enamik skannereid toetab lokaadi vahetamist kasutusjuhendis trükitud seadistusvöötkoodide abil ja parandus tähendab skanneri ümberprogrammeerimist operatsioonisüsteemi lokaadile vastavaks, mitte rakenduse koodi muutmist.

Ees- ja järelliited

Skannerid toetavad tavaliselt seadistatavaid ees- ja järelliiteid sisu ümber. Levinumad järelliite väärtused on ENTER (CR, 0x0D), TAB (0x09) ja mõnikord täielik CR+LF paar. Eesliited on harvemad, kuid neid kasutatakse vahel skannide suunamiseks kindlatesse väljadesse pärandterminalirakendustes.

Piirangud brauseris testimisel

Brauser ei näe tooreid USB HID-pakette, ei saa loendada ühendatud HID-seadmeid konkreetselt skannerina (välja arvatud WebHID API, mille kaudu enamik skannereid andmeid ei avalda) ega erista HID-klaviatuurirežiimis skannerit päris klaviatuurist. JavaScriptile on kättesaadavad ainult brauseris nähtavad klaviatuurisündmused (keydown, keyup, keypress) ja just neid selle saidi tööriistad uurivad.

Seotud

Kasutage klaviatuurisündmuste testerit toorete klaviatuurisündmuste uurimiseks või lugege juhendit ENTER- ja TAB-järelliited, et näha järelliite seadistamise üksikasju.