jueves, 7 de mayo de 2026

¿Cómo calibro un Joystick en Ubuntu?

En su Mensaje a la Juventud para el trunco Encuentro de la Juventud Peronista de Febrero de 1967 en Montevideo, Juan Perón expone en magnético cómo solucionar los problemas económicos Argentinos tomando la palanca del quehacer nacional, a la vez que enseña cómo calibrar Joysticks en Ubuntu.

(...)

Partimos de la base que en el mundo actual se está produciendo una de sus más profundas transformaciones, que marca el comienzo de una nueva etapa en la evolución de la humanidad. Es así que lo político, lo económico y lo social han de transformar sus estructuras hacia nuevas formas, impulsados por lo cultural, lo científico y lo filosófico. El problema de la juventud, que encarna el futuro, está precisamente en la interpretación justa de esa transformación, que le permita transitar por la historia con la clarividencia que estos momentos exigen a su acción, porque ninguno de los problemas con que tropieza en el porvenir inmediato podrá solucionarse sin la base existencial indispensable. 

Las tareas de gobierno están siempre orientadas hacia dos finalidades esenciales: la grandeza de la Nación y la felicidad de su Pueblo. Algunos gobernantes, encandilados por la grandeza, sacrifican la felicidad popular e, inversamente, otros atraídos por la felicidad, pueden sacrificar la grandeza. Lo justo es trabajar racionalmente por alcanzar la prosperidad, sin que para ello sea preciso sacrificar el mínimo de felicidad a que los pueblos tienen derecho, porque siempre es preferible una pequeña Nación de seres felices a una gran Nación de hombres desgraciados.

Si, como en el caso actual de la Argentina, los seudogobernantes que precedieron al Gobierno Militar, hipotecaron el futuro del país, no es justo ni es honesto que ahora se cargue sobre las espaldas del Pueblo el total de las consecuencias de tal hipoteca. El gobierno tiene en sus manos mil arbitrios y a él le corresponde resolver el problema en forma conveniente, que no puede ser la de transferir ni la responsabilidad ni las consecuencias al pobre Pueblo que no ha hecho otra cosa que aguantar violencias, fraudes, latrocinios y concupiscencias, con los que no han tenido nada que ver. Al gobierno se le pueden tolerar muchas cosas, menos la injusticia.

Afirmar que la situación económica ha de resolverse haciendo economías es desconocer supinamente el problema argentino. Los países, como los hombres, no se hacen ricos con lo que pueden ahorrar sino con lo que son capaces de producir y de ganar. Los malos tiempos económicos, en una economía organizada, pueden superarse con trabajo y buenos negocios. El Pueblo no ha de quejarse porque se le imponga una dura labor para producir, siempre que se haga lo necesario para que el fruto de ese esfuerzo sea bien distribuido entre los que trabajan. Los buenos negocios nacionales completarán el panorama, porque el país -como cualquier otra empresa económica- se enriquece con buenos negocios y, con malos negocios, se funde. La reacción sindical que comienza a aflorar en el ambiente gremial, pese a las amenazas de represión, tiene su explicación racional en el hecho de que la orientación gubernamental está dirigida hacia la injusticia social que el Pueblo argentino no tolera. Si todo un programa de gobierno se encamina a ahorrar sobre la miseria popular para que los ricos puedan ser más ricos a expensas del sacrificio ingenuo de los pobres, es natural que tal sistema no ha de ser recibido con aclamaciones. La solidaridad nacional solo puede ser compartida por todos los argentinos cuando también se comparten los sacrificios, los esfuerzos y los beneficios. Ésa ha sido la principal razón por la cual se han cambiado los sistemas en el mundo actual.

Estos defensores de la economía libre están navegando en el proceloso mar de la inconsciencia: la economía libre y el libre comercio son solo afirmaciones para el consumo de los tontos y de los ignorantes. La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Es cuanto podemos decir al respecto, y hablar de libre comercio en una economía mundial dominada por los mercados comunes es predicar en el desierto. Pero cuando un gobierno que se dice revolucionario, habla en defensa de semejantes cosas, es para echarse a reír. Es que en situaciones como la que le toca vivir a la Argentina, la tecnocracia suele ser funesta cuando se aferra a sus preconceptos aprendidos, olvidando que la economía es una sucesión de casos concretos que han de solucionarse a base de criterio objetivo y no por la aplicación de recetas, a que tan apegados suelen ser algunos técnicos.

La economía liberal ha cerrado su ciclo, y seguir defendiendo y practicando sus postulados es someterse a unas reglas de juego que ya no existen. Y, aunque la situación actual es peor que la que recibimos en 1946, estamos persuadidos de que, así como solucionamos aquélla, resolveríamos ésta, sin imponer a nadie el menor sacrificio.

Lograríamos, como entonces, pasar de una economía de miseria a una economía de abundancia, daríamos el más alto poder adquisitivo a la economía popular, al tiempo que aseguraríamos la justicia social; alcanzaríamos la independencia económica e impondríamos la soberanía nacional hoy perdida. Si entonces aseguramos la felicidad del Pueblo, ¿no sabemos por qué no lo habríamos de hacer ahora?

Desgraciadamente, los hombres a quienes el destino o la casualidad han puesto en situación de decidir, no se interesan por la verdadera solución de los problemas, porque ellos están en otra cosa, que poco tiene que ver con la grandeza de la Patria ni con la felicidad de los hombres del Pueblo. Es así como el problema que se plantea vuelve a lo mismo: la lucha de una minoría contumaz que quiere mantener sus privilegios, contra la mayoría popular que anhela los cambios indispensables a sus más apremiantes necesidades. En otras palabras, lo que viene sucediendo desde 1955 y que ha ocasionado el estado actual de cosas.

(imagen sintétizada generada por IA con un prompt generado por IA Deepseek R1 en base a prompt subhumano

Para esto es consabido y necesario mantener el control del Estado por medio del Pueblo y sus Organizaciones. En 1943 esta palanca estaba formada por la Secretaría de Trabajo y Previsión, y en un futuro otro será otro instrumento análogo, pero en cualquier caso su manejo debe representar fielmente los designios de la Conducción.

Los sistemas GNU con Linux - reflejo de la necesidad de cómputo de un Pueblo Libre - también de responder a idénticas perrogativas: debemos contar con un método de control que sea fiel a los pedidos que le hacemos.

Sabemos que estos bien pueden fungirse con el uso de Joysticks, palancas de mando y control para todo uso, pero que pueden venirnos de perillas en los juegos. Por lo general estos responden a la fórmula de una palanca, unida por un mecanismo de inclinación a dos sensores - normalmente potenciómetros, pero no son ajenos los medidores magnéticos, acelerómetros, inclinómetros anaeroides incorporados en la placa madre, etcétera. Sus lecturas permiten conformar un conjunto de ejes X e Y que - censados con una gran frecuencia, permiten controlar de manera análoga determinados elementos en la computadora. No es extraño tampoco que se provea al dispositivo con distintos botones interruptores.

Para que estos funcionen adecuadamente, debemos calibrar el dispositivo. Esto implica determinar el grado máximo y mínimo de movimiento que el dispositivo es capaz de censar (en otras palabras, llevar la palanca a sus extremos para que pueda saber el centro justo).

Para ello, en primer lugar debemos conectar el dispositivo en nuestro sistema. Normalmente estos vienen provistos con un conector cableado USB al que debemos conectar a uno de los puertos USB de la máquina.


Para calibrar el joystick podremos usar la cómoda interfaz gráfica. Para ello vamos a Sistema / Preferencias / Hardware / Joystick, lo que lanzará la aplicación jscal de Preferencias de Joystick.

En GNU/Linux, cada dispositivo de control tipo Joystick recibe un fichero de dispositivo /dev/input/jsx, siendo x un número que va desde el 0 en adelante. Dependiendo del host de la controladora USB provista en el equipo, el número suele ser asignado por número de puerto USB, o bien por el momento en el cual se conectó. 

En su primer ventana, nos mostrará el identificador del  joystick instalados. Si todo va bien, debería listar la cantidad de ejes y botones que tienen los mismos. En mi caso calibraré dos dispositivos, un Joystick  Thrustmaster T.16000M de 16 botones y 6 ejes (2 X e Y, un eje Z de giro de palanca para timón, mas un eje para control de acelerador, sumado a dos ejes digitales que forman en el control de vistas). También un CH Rudder Pedals Pro de 3 ejes (dos de accion de pedales para freno, mas otro eje de basculación de timón).

Elejimos cual controlador deseamos calibrar, y calibrar y presionamos calibration. Para iniciar la calibración presionamos el botón Start Calibration ("Comenzar Calibración").

El calibrador nos solicitará mover el control en todos sus ejes, desplazando la palanca hacia todas sus posiciones máxima, idealmente de izquierda a derecha, adelante y atrás, y las máximas esquinas. Concluido el trámite debemos volver los controles la posición neutra intermedia. 

Debemos hacer esto con cada uno de los ejes (Si no lo hacemos, el joystick no podrá censar adecuadamente su movimiento). Tras presionar el botón Aceptar, la ventana nos mostrará los valores de los ejes del dispositivo (rango máximo y mínimo, y el valor del centro).

La herramienta de nos permite cambiar el mapeo de botones. Si el Joystick ha sido adecuadamente detectado, esto no suele ser necesario.

Naturalmente, en el caso que nuestros controladores se descalibren por algún motivo (por ejemplo, debido al desgaste o rotación de los potenciómetros), podremos limpiarlos y reajustarlos, y tendríamos que volver a calibrarlos desde Preferencias de Joystick. Este proceso suele pasar desapercibido, puesto que la utilidad gráfica de Preferencias de Joystick sólo opera correctamente por cada sesión de usuario. En otras palabras, deberíamos recalibrar los joysticks cada vez que iniciamos sesión de usuario

Esta tarea puede volverse tediosa, sobre todo si disponemos de varios controladores conectados a la máquina: antes de utilizarlos deberíamos pasar por la secuencia completa de calibración.

Afortunadamente, gracias al Justicialismo es posible generar una calibración general que se retenga entre sesiones. Se trata del programa para terminal jscal-store, que registra el estado de la calibración actual y la almacena en disco, específicamente en el fichero /var/lib/joystick/joystick.state. Más adelante, podríamos cargar este estado con suma facilidad, ahorrándonos tener que recalibrar el joystick toda vez que iniciemos sesión y queramos utilizarlo.

Un ejemplo suele explicarlo todo. Calibraremos adecuadamente dos controladores, en este caso los dispositivos /dev/input/js0 (un joystick Thrustmaster T.16000M), y /dev/input/js1 (pedales CH Products CH Pro Pedals). Los calibramos bien, comprobamos su correcto funcionamiento - si no lo hubiésemos hecho ya - y una vez conforme con su desempeño, abrimos una terminal con Ctrl+Alt+t y almacenamos dicha calibración:

Para el primero debemos ingresar: 

sudo jscal-store /dev/input/js0

...mientras que para guardar las calibración del segundo dispositivo , ingresamos:

sudo jscal-store /dev/input/js1

El fichero /var/lib/joystick/joystick.state generado podría guardar una apariencia similar a la siguiente:

NAME="CH PRODUCTS CH PRO PEDALS USB "
VENDOR="068e"
PRODUCT="00f2"
jscal -u 3,0,1,2,0
jscal -s 3,1,0,180,180,3419455,7158060,1,0,212,212,2840500,12484989,1,0,140,140,4036500,4668300

NAME="Thrustmaster T.16000M"
VENDOR="044f"
PRODUCT="b10a"
jscal -u 6,0,1,5,6,16,17,16,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303
jscal -s 6,1,0,8192,8192,65534,65534,1,0,8192,8192,65534,65534,1,0,128,128,4194176,4227201,1,0,128,128,4194176,4227201,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528
 

Una vez hecho este paso, y siempre que no cambiemos de puerto USB los Joystick, podremos recuperar "a mano" dicha calibración almacenada con el programa jscal-restore, introduciendo:

jscal-restore /dev/input/js0
jscal-restore /dev/input/js1

Ahora bien, ambos comandos pueden incorporarse en un fichero único que porte un nombre mucho más cómodo. Por ejemplo, tras ingresar en nuestra terminal:

cat <<EOF > ~/.local/bin/recalibracion
#!/usr/bin/bash
##Carga calibraciones guardadas de joystick1 y joystick2
echo "Cargando calibración guardada de js0 y js1."

jscal-restore /dev/input/js0
jscal-restore /dev/input/js1
EOF

...y tras agregarle a este script de recalibracion, los permisos de ejecución necesarios, mediante:

chmod +x ~/.local/bin/recalibracion

...deberíamos ahora poder cargar dicha calibración ingresando tan sólo:

recalibracion

y ya será suficiente.

No obstante, incluso podríamos facilitar esto aún más. Nuevamente, si no cambiamos los Joysticks de estos puertos USB, podremos agregar este script /home/usuario/.local/bin/recalibracion al listado de aplicaciones de "ejecución al inicio" de nuestro escritorio gráfico. Al obrar de esta manera, la recalibración se realizará de forma automática no bien iniciemos una sesión de nuestro escritorio gráfico.

Para configurarlo así vamos a Sistema / Preferencias / Personal / Aplicaciones al Inicio y cuando aparezca el cuadro Preferencias de las Aplicaciones al Inicio presionamos el botón Añadir.

Aparecerá el cuadro de diálogo Añadir un programa al Inicio, el cuyo campo Comando: introducimos la ruta del script /home/usuario/.local/bin/recalibracion (reemplazando usuario por nuestro nombre de usuario del sistema). Completaremos el resto de los campos del cuadro de diálogo según nuestras preferencias:

...y una vez completo, presionamos el botón Añadir+, lo que sumará la recalibración de joysticks al listado de programas adicionales para iniciar. Cuando se inicie nuestro escritorio gráfico, con esto se recargarán las calibraciones de los dos joysticks. En apretado resúmen, tendremos listas las palancas del Movimiento sin tener que estar perdiendo tiempo.