«¿Hasta qué punto funcionan bien vuestras pantallas táctiles con Linux?» es una pregunta que nos hacen con mucha frecuencia. Aunque la respuesta corta siempre es «¡perfectamente!», existe más de una forma de compatibilizar y alinear nuestras pantallas táctiles con los sistemas operativos Linux, y la elección suele depender de las circunstancias particulares de cada aplicación concreta. En este artículo, proporcionaremos una descripción detallada de algunos de los métodos más habituales para trabajar con Linux.
En los próximos artículos, proporcionaremos descripciones técnicas paso a paso sobre cómo utilizar estas técnicas pero hasta entonces, si tiene alguna pregunta concreta, indíquenoslo y haremos todo lo posible por ayudarle.
Módulo HID del kernel de Linux nativo
La mayoría de sistemas operativos reconocerán nuestras pantallas táctiles USB como un dispositivo de puntero HID (dispositivo de interfaz humana) estándar, y Linux no es la excepción. Los módulos HID del kernel USB se instalan de forma predeterminada en la mayoría de distribuciones de Linux, lo que significa que si conecta una pantalla directamente en el puerto USB, reaccionará de forma instantánea al tocarla sin necesidad de realizar ninguna otra acción.
Conectar la pantalla táctil a través de un puerto RS-232 en serie (incluido en todos los modelos de pantalla táctil de Hope) requiere cierto esfuerzo, pero no ha dado problemas de funcionamiento en Ubuntu 16.04, Debian 8.5 y CentOS 7 usando esta guía.
Una vez que responda al contacto, lo habitual es que la pantalla táctil no siga su dedo y sea necesario alinearla. Solemos recomendar que la alineación se realice utilizando xinput_calibrator o mediante una calibración manual con EVTest.
xinput_calibrator
xinput_calibrator es un programa de calibración de código abierto que proporciona una calibración de 4 puntos igual que la incluida en nuestros controladores de Windows estándar. Este programa permite acceder a funciones más avanzadas, como mantener pulsada la pantalla para hacer clic con el botón derecho, y es fácil de usar, aunque para conservar la calibración tras un reinicio será necesario editar algunos archivos de texto. Además, xinput_calibrator no funcionará con varios monitores, lo que podría afectar a algunos usuarios.
xinput_calibrator ya forma parte de muchos repositorios de paquetes y se instala fácilmente en 16.04, Debian 8.5 y Fedora 24 (aunque tuvimos problemas para conservar la calibración en Fedora por las diferencias en los formatos de archivo).
CentOS 7 y OpenSUSE 13.2 no incluyen un paquete en los repositorios, pero siempre se puede compilar xinput_calibrator a partir del código fuente.
Ya escribimos una reseña sobre xinput_calibrator hace algunos años, pero en breve podrá encontrar una actualización sobre ese artículo.
Calibración manual con EVTest
Si utiliza una distribución que no admite xinput_calibrator, puede optar por configurar puntos de calibración manual mediante EVTest. La idea básica es que puede utilizar la utilidad EVTest para establecer puntos de desplazamiento que permitan calibrar la pantalla, y aplicar posteriormente dichos puntos a la pantalla táctil. Este es el enfoque que adoptamos en esta publicación del blog y ofreceremos instrucciones más detalladas en una publicación futura.
Este enfoque debería funcionar desde una perspectiva técnica en casi todas las distribuciones de Linux.
Controladores binarios para Linux de Elo
Las pantallas táctiles industriales de Hope utilizan controladores Accutouch de Elo Touch, que también proporciona un conjunto de controladores binarios para Linux genéricos, que están disponibles aquí.
Hemos probado con éxito la versión 4.0.1 del controlador USB y la versión 3.4.0 del controlador serie en Ubuntu 14.04 (64 bits). Dado que estos controladores provienen directamente de Elo, se admiten algunas funciones avanzadas como el uso de varias pantallas (hasta 32, hemos probado 2), una zona táctil activa, clic al tocar, clic al dejar de tocar, retraso al arrastrar, pitido al tocar y, por supuesto, una herramienta de calibración completa.
Aunque hemos probado con éxito todas estas funciones, hemos observado que esta instalación es un poco más difícil que las técnicas usadas anteriormente. A menos que necesite algunas de estas funciones avanzadas, se recomienda limitarse a xinput_calibrator o el método EVTest.