Pāriet uz saturu

Barcode Scanner Emulator

HID tastatūras ķīļa skaidrojums

Tastatūras ķīlis ir noklusējuma darbības režīms pārliecinošam vairumam svītrkodu skeneru. Šis ceļvedis skaidro, kas tas ir, kā tas darbojas USB līmenī un ko tas nozīmē lietojumprogrammas testēšanai.

Kas ir tastatūras ķīlis?

Termins cēlies no vecākiem seriālā porta skeneriem, kas burtiski tika "ieķīlēti" (angl. wedged) starp tastatūru un tās datora portu, pārtverot tastatūras signālu un tajā ievadot skenētās rakstzīmes. Mūsdienu skeneriem fiziska ieķīlēšana vairs nav vajadzīga — tagad šis apzīmējums attiecas uz jebkuru skeneri, kas skenētos datus pasniedz tā, it kā tie nāktu no tastatūras, neatkarīgi no savienojuma veida.

USB HID un tastatūras emulācija

USB definē Human Interface Device (HID) klasi tieši tastatūrām, pelēm un līdzīgām ievades ierīcēm. Kad skeneris USB uzskaitē parādās kā HID tastatūra, operētājsistēma ielādē savu vispārīgo iebūvēto tastatūras draiveri — atsevišķs skenera draiveris nav vajadzīgs. Skenera aparātprogrammatūra katru atkodēto rakstzīmi pārvērš HID taustiņa kodā, ko sūtītu fiziska tastatūra, un ziņojumi tiek piegādāti ar to pašu pārtraukuma pārraidi, ko izmanto jebkura USB tastatūra.

Kā lietojumprogramma redz skenera ievadi

Ātrs taustiņu uzliesmojums pret cilvēka rakstīšanu: skeneris visu saturu sūta kā ātru keydown/keyup pāru secību un parasti pabeidz ātrāk nekā sekundē, neatkarīgi no svītrkoda garuma.

Nav peles notikumu: HID tastatūras režīma skeneri nekad nerada rādītāja, klikšķa vai fokusa notikumus. Ja skenēšanas brīdī lauks nav fokusā, ievade pazūd vai nonāk tajā elementā, kuram fokuss ir.

Nav ielīmēšanas notikumu: tā kā dati pienāk kā atsevišķi taustiņu spiedieni, nevis starpliktuves darbība, paste notikumu apstrādātāji skenera ievadi neredzēs, un ievades maskas, kas klausās tikai paste, to klusi palaidīs garām.

Tastatūras izkārtojuma problēmas

Kāpēc parādās nepareizas rakstzīmes: skeneris atkodētās rakstzīmes sasaista ar HID taustiņu kodiem, izmantojot savu konfigurēto tastatūras izkārtojumu. Ja šis izkārtojums nesakrīt ar operētājsistēmas tastatūras izkārtojumu, rakstzīmes var tikt samainītas. Klasisks simptoms ir cipari vai pieturzīmes, kas QWERTY un AZERTY sistēmās tiek skenētas kā nepareiza rakstzīme.

Lokalizācijas neatbilstība: tā ir skenera puses konfigurācijas problēma, nevis programmatūras kļūda. Lielākā daļa skeneru atbalsta lokalizācijas pārslēgšanu ar konfigurācijas svītrkodiem, kas iespiesti rokasgrāmatā, un labojums nozīmē skenera pārprogrammēšanu atbilstoši operētājsistēmas lokalizācijai, nevis lietojumprogrammas koda maiņu.

Priedēkļi un piedēkļi

Skeneri parasti atbalsta konfigurējamas priedēkļa un piedēkļa secības ap datiem. Visbiežākās piedēkļa vērtības ir ENTER (CR, 0x0D), TAB (0x09) un dažreiz pilns CR+LF pāris. Priedēkļi ir retāki, bet dažreiz tiek izmantoti, lai novirzītu skenējumus uz konkrētiem laukiem mantotās termināļa lietojumprogrammās.

Ierobežojumi testēšanai pārlūkā

Pārlūks neredz neapstrādātus USB HID paketes, nevar uzskaitīt pievienotās HID ierīces tieši kā skeneri (ārpus WebHID API, caur kuru lielākā daļa skeneru datus neizpauž) un nevar atšķirt HID tastatūras režīma skeneri no īstas tastatūras. JavaScript ir pieejami tikai pārlūkam redzamie tastatūras notikumi (keydown, keyup, keypress), un tieši tos pārbauda šīs vietnes rīki.

Saistītie

Izmantojiet tastatūras notikumu testētāju, lai pārbaudītu neapstrādātus tastatūras notikumus, vai lasiet ENTER un TAB piedēkļu ceļvedi par piedēkļa konfigurāciju.