Vai al contenuto

Barcode Scanner Emulator

Suffissi ENTER e TAB nei lettori di codici a barre

Un suffisso è una pressione di tasto che il lettore invia subito dopo il payload decodificato del codice a barre. Scegliere il suffisso giusto e gestirlo correttamente nell'app è una delle fonti più comuni di bug di integrazione del lettore.

Cosa sono i suffissi e perché i lettori li inviano

Poiché un lettore emette il payload come pressioni grezze senza un delimitatore incorporato, l'applicazione ricevente non ha un modo affidabile di sapere che la lettura è finita, a meno che il lettore non aggiunga una pressione di terminazione esplicita. Quella terminazione è il suffisso. Senza, le applicazioni dovrebbero indovinare il completamento con un timeout di inattività, più lento e meno affidabile.

ENTER (CR)

Il suffisso più comune. Inviato come tasto Invio/Return, corrispondente al ritorno a capo, 0x0D in ASCII. Nella maggior parte dei moduli HTML, premere Invio dentro un singolo campo di testo invia il modulo che lo contiene, quindi ENTER è naturale per i flussi "leggi e invia", come una casella di ricerca o una ricerca a campo singolo.

TAB

Inviato come tasto Tab, 0x09. Invece di inviare un modulo, Tab sposta il focus all'elemento focalizzabile successivo. Questo suffisso è preferibile nell'inserimento dati in più passaggi, per esempio leggi il codice prodotto, passa in automatico al campo quantità, poi leggi l'articolo successivo, senza un invio prematuro.

Coppie CR/LF e nessun suffisso

Alcuni lettori si possono configurare per inviare una coppia CR+LF completa (comune quando si alimentano applicazioni in stile terminale o seriale) e altri si possono configurare senza alcun suffisso. In quel caso l'applicazione deve rilevare la fine della lettura usando la temporizzazione dell'input.

Perché conta per POS e app web

Il suffisso sbagliato produce bug molto specifici e confusi: un suffisso ENTER su un modulo a più campi può inviare il modulo prima che i campi quantità o sconto siano compilati, mentre un suffisso TAB su un flusso con una sola casella di ricerca lascia la ricerca non eseguita perché nulla ha attivato l'invio. È essenziale abbinare il suffisso al flusso, non lasciare soltanto l'impostazione di fabbrica.

Come testare il comportamento del suffisso

Leggi nel tester di input dei codici a barre, che segnala esplicitamente se alla fine della lettura è stato rilevato ENTER o TAB. Se ti servono i keycode esatti (per esempio per distinguere CR da LF), usa invece il tester degli eventi tastiera.

Cambiare il suffisso sul lettore

Il comportamento del suffisso è un'impostazione lato lettore, configurata tramite l'utilità software del produttore oppure leggendo un codice a barre di configurazione speciale stampato nel manuale del lettore. Vedi la guida Configurazione del lettore di codici a barre per il processo generale di configurazione.