Hola Cristian,
Con respecto a los monitores de pantallas tactiles no sabria decirte, pero lo que si te puedo compartir mi experiencia personal con el tema de los codigos de barras.
Los lectores de codigo de barras no son mas que emuladores de teclado, cuando leen un codigo de barras lo que hacen es traducir las lineas en numeros, agrega un ENTER al final de la secuencia y luego los envia de uno a la vez, es como que si vos hubieras tipeado esos numeros en el teclado, solo que a una velocidad mucho mas lenta. Es por eso que se conectan al teclado.
Teniendo eso en cuenta, implemente la lectura del codigo de barras de la siguiente manera:
1) En el inspector de objetos del formulario que queres que maneje el lector, poner la propiedad KeyPreview a True.
2) En el evento OnKeyPress del formulario escribir el codigo que vaya agregando a una variable los caracteres recibidos y cuando detecte el ENTER es porque llego a su final, entonces ahi direccionas al comportamiento que necesitas. El codigo que tengo yo es este:
Código:
try
StrToInt(Key);
CodigoBarras := CodigoBarras + Key
except end;
donde primero se hace la validacion y luego el incremento. La variable CodigoBarras es una variable global de la unidad. En este caso tengo un boton que tiene la propiedad Default a True, entonces se activa automaticamente el evento OnClick del mismo cuando llega el caracter ENTER, pero si no podrias tener la siguiente sentencia despues de la primera: "if Key = #13 then ...".
Saludos.