Saltar para o conteúdo

Barcode Scanner Emulator

Disposição de teclado errada no leitor de códigos de barras

Caracteres errados ou baralhados após uma leitura, sobretudo algarismos, pontuação e símbolos, são quase sempre um desajuste de disposição do teclado entre o leitor e o sistema operativo, não um erro de descodificação.

Problema

O valor lido contém caracteres errados, muitas vezes símbolos ou algarismos concretos trocados por outros (um padrão habitual: os números surgem certos, mas símbolos como -, / ou . estão errados, ou surge uma letra completamente diferente no lugar da esperada).

Porque isto acontece

Como se explica em A cunha de teclado HID explicada, um leitor em modo de teclado HID converte cada carácter descodificado num código de tecla segundo a disposição de teclado configurada internamente e depois transmite esse código. O sistema operativo volta a interpretar o código com a sua própria disposição. Se as duas disposições não coincidirem (por exemplo o leitor em QWERTY dos EUA e o sistema em AZERTY francês), certas teclas correspondem a caracteres diferentes e o desajuste aparece como saída errada, mesmo tendo o leitor descodificado o código na perfeição.

Como diagnosticar

  1. Leia um código com uma gama completa de algarismos e símbolos habituais no testador de eventos de teclado.
  2. Compare o valor key registado com o conteúdo real do código. Se caracteres específicos forem sempre substituídos por outros caracteres específicos, isso é um forte indício de desajuste de locale, e não de um erro aleatório de descodificação.
  3. Verifique a disposição do teclado do sistema operativo (Idioma e região na maioria dos sistemas) e compare-a com o locale configurado no leitor, indicado no manual de configuração ou no utilitário do fornecedor.

Como corrigir

Reconfigure a disposição do teclado do leitor para coincidir com a disposição do sistema da máquina à qual está ligado, usando a folha de códigos de configuração do fabricante ou o utilitário de configuração. A correção é do lado do leitor. Alterar a disposição do sistema em seu lugar raramente é prático, porque afeta todos os outros dispositivos de introdução dessa máquina.

Se gere muitos postos com locales de sistema diferentes, uniformize um locale de leitor e um locale de sistema sempre que possível, para não ter de configurar o leitor posto a posto.

Como verificar

Leia de novo o mesmo código de teste no testador de eventos de teclado e confirme que cada carácter, sobretudo os símbolos, passa a coincidir exatamente com o conteúdo esperado do código.

Relacionado

A cunha de teclado HID explicada · Guia de configuração do leitor de códigos de barras