JavaScript - Lector códigos de barras

   
Vista:

Lector códigos de barras

Publicado por David (4 intervenciones) el 07/07/2016 11:17:15
Hola.

Necesito ayudita en un tema del trabajo... voy a poner un parrafote para contextualizar y a ver si me podeis echar una mano ;)

Un cliente necesitaba un programa para hacer una trazabilidad de las producciones de una fábrica. El cliente marcaría con una PDA/pistola los artículos que va a producir y los componentes y lo guardaríamos todo en una base de datos. El proyecto consta de dos partes: un portal de consulta de los datos guardados y otra aplicación para poder introducir estos artículos. Decidimos que dicha aplicación la haríamos web con angular 1.4.

Para que en las lineas de producción pudieran llevar a cabo esta tarea, necesitarían una PDA con lector de código de barras que trabajase con Android.

Estos son los requisitos resumidos del proyecto. Cualquier duda preguntad sin problema ^^

Ahora viene el marrón del asunto:
Para hacer el desarrollo hice las pruebas con un lector de código de barras que lo enchufaba en el USB de mi ordenador. Con esto logré desarrollar el producto al 100% operativo. Para leer los códigos de barras era tan simple como leer eventos de teclado, ya que un lector conectado por USB no deja de ser como una extensión del teclado.´Yo estaba todo feliz hasta que me llegó la pda que compramos...
Cúal fué mi sorpresa al probar la aplicación con la pda (que no deja de ser un móvil Android con lector de código de barras) que no funcionaba nada... Analizando... resulta que al leer códigos de barras no me interpreta estos como eventos de teclado! No se como capturar los codigos.
Lo curioso es que, mirando la configuración del lector de código de barras, me deja que al final del código que lee me ponga un intro. Si activo esta opción, el evento de teclado me detecta que se ha introducido un intro despues del código que se lea, pero nada mas.

Con esto, he pensado que quizá mas que un evento de teclado sea otro tipo de evento... pero he buscado y rebuscado y no he encontrado nada en Javascript. ¿Alguna idea de cómo solucionarlo?

Otra curiosidad... la PDA tiene un teclado físico. Si con Google Chrome, en un input de texto, escribo algo con el teclado físico me detecta bien los eventos de teclado. En cambio, si uso el teclado virtual de Android, pulse la letra que pulse me detecta siempre que keyCode es 229. En cambio, si esto lo pruebo en firefox, me detecta bien tanto el teclado físico como el virtual. Esto no se si tiene algo que ver... pero como lo ví pues lo pongo a ver si una mente mas maravillosa que la mía (cosa fàcil jejej) lora atar cabos.


Bueno, gracias por leeros todo esto xD
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Lector códigos de barras

Publicado por David (4 intervenciones) el 07/07/2016 13:17:10
Una cosa que me he dejado...
Como he comentado, con un evento de teclado en google Chrome no me detecta el lector de código de barras... pero en Firefox si, lo que pasa es que me lee todos los carácteres como KeyCode = 0. Es decir: si leo el código de barras "123abc", me lo lee como "000000" (en código ASCII). No me diferencia las teclas que son, pero me las detecta. Salvo si configuro que me ponga el intro al final, que entonces me lee "0-0-0-0-0-0-13". El intro si que me lo lee, el resto no.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lector códigos de barras

Publicado por Max Power (1 intervención) el 08/07/2016 18:58:28
Mmmmm no sé, por lo que comentas tanto con Chrome como con Firefox no te detecta bien el teclado físico, ya que reconocer cualquier tecla como 0 no es reconocer realmente.

Has mirado los parámetros de ajustes de la PDA? Igual puede enviar los datos de teclado de distinta manera y reconocible por el explorador.

En cualquier caso mucha suerte y todo mi animo y mi apoyo :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lector códigos de barras

Publicado por David (4 intervenciones) el 08/07/2016 19:02:07
Hola,
Mmm.. si, la PDA tiene muy pocas opciones y ya las he configurado correctamente. Y también la he configurado mal para ver que pasaba con todas las combinaciones posibles.

Gracias por responder :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lector códigos de barras

Publicado por deo (21 intervenciones) el 09/07/2016 20:37:05
Pues si se comporta como un teclado puedes tener los problemas de los keyEvent (hablo desde mi ignorancia).,
Cuando he tratado de interpretar keyEvents con su keyCode o keyChar he podido ver que ningún navegador funciona igual.
Unos distinguen entre mayúsculas y minúsculas, otros no. Unos si en keyCode pero no keyChar (o algo asi)... en fin una locura.

Si dices que te detecta los códigos como entradas de teclado... podría ser algo asi
Recuerdo haber visto detalles al respecto en la info de Mozilla Developper y abundantes ejemplos online de programas que te muestran los codigos keyChar, keyCode, y las techas Shift, Ctrl,.. tal vez si le enchufas tu lector puedas encontar pistas..
Cosas como: http://javascript.info/tutorial/keyboard-events y otros mucho mas simples...
SUERTE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lector códigos de barras

Publicado por David (4 intervenciones) el 11/07/2016 09:35:34
Buenas Deo.

El tema es que no me interpreta la lectura del código de barras como entrada de teclado en la PDA, he probado con keypress, keydown y keyup, con keyCode, con which, con charCode.... Es mas, he puesto que al realizar un evento de teclado me haga un alert('hola'), y ni esto funciona correctamente menos con firefox. Firefox me detecta las entradas de teclado pero no me las interpreta bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar