Barcode Scanner Emulator
Sufixos ENTER e TAB nos leitores de códigos de barras
Um sufixo é a premida de tecla que o leitor envia imediatamente a seguir à carga descodificada do código de barras. Escolher o sufixo adequado e tratá-lo corretamente na aplicação é uma das origens mais frequentes de erros de integração com leitores.
O que são os sufixos e porque é que os leitores os enviam
Como o leitor emite a carga em premidas brutas, sem um delimitador incorporado, a aplicação receptora não dispõe de um meio fiável de saber que a leitura terminou, a menos que o leitor acrescente uma premida explícita de fim. Esse terminador é o sufixo. Sem ele, as aplicações teriam de inferir a conclusão por um tempo de inatividade, o que é mais lento e menos fiável.
ENTER (CR)
O sufixo mais habitual. É enviado como a tecla Enter/Return, correspondente ao retorno de carro, 0x0D em ASCII. Na maior parte dos formulários HTML, premir Enter dentro de um único campo de texto submete o formulário que o envolve, pelo que ENTER se adequa naturalmente a fluxos de «ler e submeter», como uma caixa de pesquisa ou uma consulta de um só campo.
TAB
É enviado como a tecla Tab, 0x09. Em vez de submeter o formulário, Tab desloca o foco para o elemento focável seguinte. Este sufixo é preferível na introdução de dados em várias etapas, como ler o código do artigo → avançar automaticamente para o campo da quantidade → ler o artigo seguinte, sem provocar uma submissão prematura.
Pares CR/LF e ausência de sufixo
Alguns leitores podem ser configurados para enviar um par CR+LF completo (frequente ao alimentar aplicações de terminal ou de estilo série) e outros podem ficar sem qualquer sufixo. Nesse caso, a aplicação tem de detectar a conclusão da leitura pela temporização da introdução.
Porque isto importa no POS e nas aplicações web
O sufixo errado produz erros muito concretos e desconcertantes: um sufixo ENTER num formulário de vários campos pode submeter o formulário antes de a quantidade ou o desconto estarem preenchidos, ao passo que um sufixo TAB num fluxo de uma única caixa de pesquisa deixa a pesquisa por executar, porque nada desencadeia a submissão. Fazer corresponder o sufixo ao fluxo, em vez de manter a predefinição de fábrica, é indispensável.
Como testar o comportamento do sufixo
Leia no testador de introdução de códigos de barras, que indica explicitamente se ENTER ou TAB foi detectado no fim da leitura. Se for necessário ver os códigos de tecla exactos (por exemplo para distinguir CR de LF), utilize o testador de eventos de teclado.
Alterar o sufixo no leitor
O comportamento do sufixo é uma definição do próprio leitor, configurada pelo utilitário do fabricante ou pela leitura de um código de configuração especial impresso no manual. Consulte o guia Configuração do leitor de códigos de barras para o processo geral.