Huyendo del camino fácil
De siempre me ha interesado la fotografía y el diseño gráfico. Tanto es así que hace ya algún tiempo que me compré una tableta digitalizadora. Estoy hablando de la época en que el sistema Android no se había popularizado y también de cuando aún no existían los smartphones.En aquel momento, la tableta que compré era una CyberTablet Z12, de la marca Adesso, que especificaba claramente que era para un entorno de Windows Vista.
Todo fue cuestión de precios y de prestaciones mínimas. Y porque pensé que me sería fácil su integración. Y aunque no me fue fácil, llegué a hacerla funcionar, sino plenamente sí lo suficiente para practicar con ella.
Es una tableta que aún se comercializa, con unas prestaciones aceptables para lo que yo quería - retoque fotográfico:
- 10 x 6,25 pulgadas de área de escritura.
- lápiz inalámbrico de 1024 niveles de presión y con dos botones.
- conectada y alimentada a través de un puerto USB.
Pero no era esto de lo que quería hablar, sino de una solución parecida utilizando una tablet o un smartphone con sistema Android.
La solución con GfxTablet
A principios de este año apareció en GIMPUSERS.com, un portal dedicado a la aplicación GIMP, una entrada refiriéndose a un desarrollo realizado para utilizar un dispositivo Android, preferiblemente una tablet por su mayor tamaño, como tableta digitalizadora para GIMP, que por su implementación era factible utilizarlo para cualquier programa gráfico que funcionase en una plataforma Linux. Finalmente decidí probar y lo que sigue a continuación es mi experiencia al respecto.gfxTablet nos permite utilizar un dispositivo Android, preferentemente una tablet por su mayor tamaño, como una tableta digitalizadora gráfica. El proyecto se encuentra aquí. Consta de dos componentes:
- La aplicación Android
- El driver de entrada para el PC
El driver que se instala en el PC simula una tableta virtual gobernada por la aplicación instalada en el android.
Requerimientos
- Cualquier dispositivo Android con pantalla táctil y Android 4.0 o superior.
- Plataforma Linux con módulo uinput integrado en el kernel.
Dónde encontrar GfxTablet
En FDroid, se encuentra una ficha en inglés sobre gfxTablet e incluye unos enlaces con más información al respecto.Podemos encontrar la aplicación Android en el Play Store de Google, y el driver se encuentra en networktablet 64-bit, dynamically linked. Eso sí, este driver es válido para plataformas de 64-bit y está comprobado que funciona en Ubuntu 13.04, 12.10 o Fedora 18. En el caso de que nuestro PC no sea de 64, u otra versión de Linux, habrá que bajar el código del driver y generar el ejecutable, siempre que el kernel del Linux tenga integrado el módulo uinput.
Instalación del driver en Linux
Si para la instalación del driver partimos del código fuente, nos bajaremos dicho código, que viene en un fichero comprimido, lo descomprimimos y lo compilamos.user@user-pc:~$ wget https://f-droid.org/repo/at.bitfire.gfxtablet_2_src.tar.gz user@user-pc:~$ tar -xzvf at.bitfire.gfxtablet_2_src.tar.gz user@user-pc:~$ cd at.bitfire.gfxtablet_2_src/driver-uinput user@user-pc:~/at.bitfire.gfxtablet_2_src/driver-uinput@ sudo make [sudo] password for user: ******** cc networktablet.c protocol.h -o networktablet user@user-pc:~/at.bitfire.gfxtablet_2_src/driver-uinput@
EL sistema Linux deberá tener instalado la utilidad make y el compilador de c gcc. Si no fuera el caso, habría que instalarlos para poder compilar el código fuente del driver.
Activación del driver
Le asignamos los permisos oportunos (chmod a+x) y lo tendremos listo para ser activado en modo privilegiado:user@user-pc:~/at.bitfire.gfxtablet_2_src/driver-uinput@ chmod a+x networktablet user@user-pc:~/at.bitfire.gfxtablet_2_src/driver-uinput@ sudo ./networktablet [sudo] password for user: ******** GfxTablet driver (protocol version 1) is ready and listening on 0.0.0.0:40118 (UDP) Hint: Make sure that this port is not blocked by your firewall.
Podemos comprobar que el driver está instalado, abriendo otra ventana de comandos y tecleando lo siguiente:
user@user-pc:~/at.bitfire.gfxtablet_2_src/driver-uinput@ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech USB Receiver id=9 [slave pointer (2)] ⎜ ↳ Network Tablet id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Logitech USB Receiver id=8 [slave keyboard (3)] user@user-pc:~/at.bitfire.gfxtablet_2_src/driver-uinput@
Activamos la aplicación GfxTablet y la configuramos, poniendo la ip que tenga el PC en estos momentos - mediante ifconfig.
Seguidamente comprobamos que responde a los trazos que hagamos sobre la pantalla táctil del dispositivo. A medida que movamos el dedo por encima de la pantalla del dispositivo, o mejor con un lápiz digitalizador, en la ventana de comandos aparecerá en la ventana de comandos una línea tras otra, con las coordenadas y el valor con el que presionamos la pantalla táctil.
.x: 8892, y: 10979, pressure: 819 .x: 10291, y: 10473, pressure: 819 .x: 11961, y: 10253, pressure: 819 .x: 13341, y: 10632, pressure: 819 .x: 14363, y: 10933, pressure: 819 .x: 15505, y: 11699, pressure: 819 .x: 16287, y: 12936, pressure: 1228 .x: 16762, y: 13455, pressure: 1228 .x: 16829, y: 13631, pressure: 819 .x: 17257, y: 14103, pressure: 819 .x: 17485, y: 14320, pressure: 1023 .x: 17590, y: 14366, pressure: 1023 ...
Observaciones
Una vez que terminemos de utilizar el driver, será mejor abortar la ejecución del driver, pulsando CTRL-C en la ventana donde esté funcionando el driver.Este utilidad está licenciada bajo la licencia MIT.
Referencias
GfxTablet Demo in YoutubeGfxTablet - Android App on Google Play
Mejoras
Este solución permite utilizar de una manera rudimentaria un dispositivo Android como tableta virtual de una aplicación gráfica de Linux. Para sacarle más partido a esta solución se me ocurren algunas mejoras que a continuación paso a relacionar:- movimiento relativo del lápiz.
- poner una imagen como fondo de la aplicación GfxTablet, que sirva de referencia al movimiento del lápiz, con lo que se facilitaría la acción de trazar la imagen en el lienzo.
- limitar el movimiento del cursor al lienzo activo de la aplicación gráfica.
- activar/desactivar la acción del lápiz sobre el lienzo.
La marca no era tan reconocida como Wacom, lo que a la hora de integrarla en un entorno Linux, como era mi caso, guiaesceptica.org/biografia-de-jun/
ResponderEliminar