Evento da Leitora de Codigo de Barras

3 respostas
pintofree

Ola pessoal, estou com a seguinte dificuldade, não consigo diferenciar o evento da leitora de codigo de barras para a digitação do teclado.
tenho o seguinte codigo.

@Override public void doKeyPressed(final KeyEvent e) throws DatabaseException { if (e.getKeyChar() == KeyEvent.VK_ENTER || e.getKeyChar() == KeyEvent.VK_TAB) { editListener.fazer(); } } });

Aki pego quando o enter ou o tab foi precionado, o problema e que o codigo nao diferencia o enter dado pelo usuario e o enter que a leitora dispara

Alguem ja teve esse problema?

3 Respostas

victorwss

Opa!

É o seguinte, não dá para diferenciá-los. A leitora de código de barras funciona como uma extensão do teclado, desta forma o SO não consegue diferenciar. Aliás, nem mesmo a placa-mãe consegue diferenciar.

Há uma gambiarra que você pode tentar: Se forem “digitados” vários números bem rapidamente seguido de um enter, você pode assumir que foi a leitora de código de barras que digitou.

pintofree

Valeus ai veio, realmenta nao tem como descobrir nao, so por gambirras.

T

Você pode reconfigurar a leitora, se isso for possível (alguns modelos possibilitam isso), para ela enviar um outro caracter em vez de ENTER ou TAB, mas em particular não recomendo isso, porque:

  • Isso normalmente não dá para fazer pelo seu software Java - você precisa fazer com que o cara que vai instalar a leitora na máquina faça o processo de reconfiguração;
  • Se porventura o seu cliente simplesmente comprar um leitor novo porque o antigo perdeu-se, quebrou ou sei lá o que ocorreu, ou o leitor desconfigurar sozinho por algum motivo, então seu programa vai parar de funcionar porque ele não funciona com as configurações padrão.
Criado 20 de outubro de 2008
Ultima resposta 20 de out. de 2008
Respostas 3
Participantes 3