Barcode Scanner Emulator
Sufijos ENTER y TAB en los lectores de códigos de barras
Un sufijo es una pulsación que el lector envía justo después de la carga útil descodificada del código de barras. Elegir el sufijo adecuado y tratarlo bien en la aplicación es una de las fuentes más habituales de fallos de integración con lectores.
Qué son los sufijos y por qué los envían los lectores
Como el lector emite la carga útil en forma de pulsaciones en bruto, sin un delimitador integrado, la aplicación receptora no tiene una forma fiable de saber que la lectura ha terminado, salvo que el lector añada una tecla de terminación explícita. Esa tecla es el sufijo. Sin él, las aplicaciones tendrían que adivinar el final con un tiempo de inactividad, que es más lento y menos fiable.
ENTER (CR)
El sufijo más habitual. Se envía como la tecla Intro/Retorno, que corresponde al retorno de carro, 0x0D en ASCII. En la mayoría de los formularios HTML, pulsar Intro dentro de un único campo de texto envía el formulario que lo contiene, así que ENTER encaja de forma natural en flujos de «leer y enviar», como un cuadro de búsqueda o una consulta de un solo campo.
TAB
Se envía como la tecla de tabulación, 0x09. En lugar de enviar un formulario, Tab mueve el foco al siguiente elemento enfocable. Este sufijo se prefiere en la entrada de datos por pasos, por ejemplo leer el código de producto → avanzar automáticamente al campo de cantidad → leer el siguiente artículo, sin provocar un envío prematuro.
Pares CR/LF y ausencia de sufijo
Algunos lectores pueden configurarse para enviar un par CR+LF completo (habitual al alimentar aplicaciones de terminal o de estilo serie), y otros pueden quedar sin ningún sufijo. En ese caso, la aplicación debe detectar el final de la lectura mediante la temporización de la entrada.
Por qué importa en el POS y en las aplicaciones web
Elegir el sufijo equivocado produce fallos muy concretos y desconcertantes: un sufijo ENTER en un formulario de varios campos puede enviar el formulario antes de rellenar la cantidad o los descuentos, mientras que un sufijo TAB en un flujo de un solo cuadro de búsqueda deja la búsqueda sin ejecutar porque nada provocó el envío. Hay que hacer coincidir el sufijo con el flujo, no limitarse a dejar el valor de fábrica.
Cómo probar el comportamiento del sufijo
Lee en el Probador de entrada de códigos de barras, que indica de forma explícita si se ha detectado ENTER o TAB al final de la lectura. Si necesitas ver los códigos de tecla exactos (por ejemplo, para distinguir CR de LF), usa en su lugar el Probador de eventos de teclado.
Cambiar el sufijo del lector
El comportamiento del sufijo es un ajuste del propio lector, que se configura con la utilidad del fabricante o leyendo un código de configuración especial impreso en el manual. Consulta la guía Configuración del lector de códigos de barras para el proceso general.