Barcode Scanner Emulator
Suffixes ENTER et TAB des scanneurs de codes à barres
Un suffixe est une frappe que le scanneur envoie tout de suite après le contenu décodé du code à barres. Choisir le bon suffixe, puis le traiter correctement dans votre application, est l'une des sources les plus fréquentes de bogues d'intégration.
En quoi consistent les suffixes et pourquoi les scanneurs les envoient
Comme un scanneur émet le contenu sous forme de frappes brutes sans séparateur intégré, l'application qui reçoit les données n'a aucun moyen fiable de savoir que la lecture est terminée, à moins que le scanneur n'ajoute une touche de fin explicite. Cette touche de fin est le suffixe. Sans lui, les applications devraient deviner la fin au moyen d'un délai d'inactivité, ce qui est plus lent et moins fiable.
ENTER (CR)
Le suffixe le plus courant. Il est envoyé comme la touche Entrée, qui correspond au retour de chariot, 0x0D en ASCII. Dans la plupart des formulaires HTML, une pression sur Entrée dans une seule zone de texte envoie le formulaire qui l'entoure. ENTER convient donc naturellement aux processus « lire puis envoyer », comme une zone de recherche ou une consultation à une seule zone.
TAB
Envoyé comme la touche de tabulation, 0x09. Au lieu d'envoyer un formulaire, Tab déplace le focus vers le prochain élément qui peut le recevoir. On préfère ce suffixe pour la saisie en plusieurs étapes, par exemple lire le code de produit, passer automatiquement à la zone de quantité, puis lire l'article suivant, sans déclencher un envoi trop tôt.
Paires CR/LF et absence de suffixe
Certains scanneurs peuvent être réglés pour envoyer une paire CR+LF complète, ce qui est courant lorsqu'on alimente des applications de type terminal ou sériel. D'autres peuvent être réglés sans aucun suffixe. Dans ce cas, votre application doit détecter la fin de la lecture à partir du minutage de la saisie.
Pourquoi cela compte pour les POS et les applications Web
Un mauvais suffixe produit des bogues très précis et déroutants. Un suffixe ENTER sur un formulaire à plusieurs zones peut envoyer le formulaire avant que les zones de quantité ou de rabais soient remplies. Un suffixe TAB sur un processus à une seule zone de recherche laisse la recherche non exécutée, parce que rien n'a déclenché l'envoi. Il est essentiel d'accorder le suffixe au processus, et non de conserver simplement le réglage d'usine.
Comment mettre à l'essai le comportement du suffixe
Lisez dans l'outil d'essai de saisie de codes à barres, qui indique explicitement si ENTER ou TAB a été détecté à la fin de la lecture. Si vous devez voir les keycodes exacts, par exemple pour distinguer CR de LF, utilisez plutôt l'outil d'essai des événements clavier.
Modifier le suffixe de votre scanneur
Le comportement du suffixe est un réglage du côté du scanneur. On le change soit avec l'utilitaire du fabricant, soit en lisant un code à barres de configuration spécial imprimé dans le guide du scanneur. Consultez le guide Configuration du scanneur de codes à barres pour le processus général de réglage.