Calibración de una pantalla táctil industrial de Hope en un Raspberry Pi

Teclado y pantalla táctil UM22 de Hope Industrial con Raspberry Pi integrado internamente

Tenga en cuenta lo siguiente: Linux cambia periódicamente. Por eso, la información que se muestra a continuación se queda obsoleta con rapidez. Póngase en contacto con nuestro equipo de soporte técnico para recibir más ayuda.

Tenemos muchos clientes que utilizan nuestras pantallas táctiles industriales y estaciones de trabajo como interfaz resistente y apta para lavado en un ordenador Raspberry PI simple.  A lo largo de los años hemos escrito varios artículos sobre cómo montar físicamente e instalar/calibrar la pantalla táctil usando el sistema operativo Raspbian.  También hemos escrito algunos artículos generales sobre Linux que repasan las distintas formas de utilizar nuestras pantallas con Linux.

El sistema operativo Raspbian ha evolucionado un poco y algunos de los métodos que mencionamos anteriormente ya no funcionan tal como están redactados.  Y lo que es más importante, las versiones más recientes ahora incluyen libinput en lugar de evdev.  A continuación se incluye una versión actualizada de nuestro método recomendado para utilizar cualquier pantalla táctil de Hope Industrial con las versiones más recientes de Raspbian 9 Stretch (kernel 4.9).

Al igual que antes, dado que nuestro controlador de pantalla táctil es un dispositivo HID estándar, no se necesita un controlador específico, pero sí es necesario realizar algunas tareas de configuración para empezar.

Descargar e instalar evdev y evtest

Primero tendremos que descargar e instalar evdev, una interfaz de evento de entrada genérico.  Como ya hemos mencionado, esta interfaz se sustituyó por libinput en las versiones más recientes de Raspbian, pero sigue funcionando muy bien para nuestras necesidades.  En una publicación futura, proporcionaremos instrucciones detalladas sobre cómo utilizar libinput.  Para instalar evdev, ejecute lo siguiente:

    sudo apt-get install xserver-xorg-input-evdev

También necesitaremos evtest, una utilidad que permite encontrar los parámetros de desplazamiento necesarios para calibrar la pantalla táctil.  Para instalar evtest, ejecute lo siguiente:

    sudo apt-get install evtest

Puede que tenga que aceptar las dependencias necesarias.

Cómo configurar la calibración de la pantalla táctil

Para alinear la pantalla táctil es necesario configurar algunos parámetros que indiquen al controlador cómo «extender» la entrada táctil por el área de pantalla disponible. Utilizaremos evtest para encontrarlos y, a continuación, editaremos algunos archivos de configuración para aplicarlos y establecer otras propiedades de la pantalla táctil.

1. Ejecute evtest.

2. evtest mostrará una lista de los dispositivos de entrada conectados. Seleccione el número del dispositivo para la interfaz de Elo TouchSystems 2218 Accutouch.

3. evtest mostrará algunos datos de configuración y luego se pondrá en pausa, en espera de una entrada.

4. Utilice el dedo o un lápiz para tocar la esquina superior izquierda de la pantalla táctil. Verá que evtest desplaza por la pantalla una serie de salidas de datos con las líneas ABS_X y ABS_Y, seguidas de valores numéricos:

Event: time 1374175747.420998, type 3 (EV_ABS), code 0 (ABS_X), value 484
Event: time 1374175747.421011, type 3 (EV_ABS), code 1 (ABS_Y), value 3364

De estos valores, anote el valor de ABS_X observado más bajo y el valor de ABS_Y observado más alto.

5. Ahora repita el proceso, pero esta vez toque la esquina inferior derecha de la pantalla y anote el valor de ABS_X más alto y el valor de ABS_Y más bajo. Salga de evtest (Ctrl + C).

6. Abra el archivo de configuración de libinput en su editor de texto preferido: /usr/share/X11/xorg.conf.d/40-libinput.conf

7. Inserte lo siguiente al final del archivo y sustituya minX, maxX, minY, maxY (mostrados en rojo) por los valores que ha anotado anteriormente.

Section "InputClass"
		Identifier "elo touchscreen catchall"
		MatchVendor "ELO"
		MatchDevicePath "/dev/input/event*"
		Driver "evdev"
		Option "InvertY" "true"
		Option "Calibration" "minX maxX minY maxY"
                Option "EmulateThirdButton" "1"
                Option "EmulateThirdButtonTimeout" "750"
                Option "EmulateThirdButtonMoveThreshold" "30"
EndSection
  • Tenga en cuenta que en la línea MatchVendor estamos aplicando esta configuración a todos los dispositivos de entrada de proveedores cuyo nombre incluya el texto «ELO». Esto debería ser suficiente, pero si tiene otro dispositivo conectado (o varias pantallas táctiles) puede que tenga que ser más concreto.  En este ejemplo, hemos aplicado un criterio amplio para que aparezcan las distintas versiones de nuestro controlador táctil.
  • Las opciones que comienzan con «Emulate» nos permiten mantener pulsada la pantalla (durante 750 ms) para simular un clic con el botón derecho. Si no es necesario hacer clic con el botón derecho, estas líneas se pueden omitir.

8. Guarde el archivo, reinicie y ahora el cursor debería seguir su dedo muy de cerca y ser completamente compatible con la función de mantener pulsada la pantalla para hacer clic con el botón derecho.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>