jueves, 29 de junio de 2017

¿Cómo configuro una combinación de teclas para activar o desactivar el Touchpad en Ubuntu?


¡Queridos Descamisados!

Ciertas cosas son irreemplazables, y su pérdida provoca una amplia desazón. La abanderada de los humildes difícilmente tenga un reemplazo, pero su espíritu está en todos, y ha de llevarse como bandera a la Victoria.

No obstante ello no debe trasladarse a un equipo informático. Tales elementos son solo cosas, y solo animados por una programación tan buena como la del colectivo que la ha hecho.

En ocasiones, es natural que un equipo pueda expirar. Pero al no contar con espíritu intangible sino con un disco rígido, si este no se está roto bien puede ser reciclado en otra máquina, y sus datos puestos nuevamente a la acción. Naturalmente sólo querríamos seguir este proceder en por de la continuidad de datos, ya que lo lógico sería dar formato a dicho tal disco y instalar en él el sistema desde cero, si el equipo es diferente.

No obstante, este proceder tan caro a la prolijidad no siempre es práctico. En este caso hemos sufrido la pérdida de una veterana Acer 5542, motivo por el cual optamos por reemplazarla por un equipo nuevo de características más modernas.
Se trata de un equipo portátil HP Pavillion edición Star Wars Dark Side, con microprocesador Intel i7 6500 de 3.1Ghz, con cuatro núcleos y tecnología Skylake. La memoria RAM es de 8GB DDR3 ampliables a 16. Viene provista de lecto-regrabadora de DVD-ROM, su disco rígido Toshiba de 1TB. La pantalla consta de un panel IPS LED de 15,6 pulgadas, alimentada por un chipset de video híbrido: Intel Skylake Graphics para la gráfica 2D (compatible con el viejo i945), junto a la aceleradora 3D nVidia GeForce 940M con 2GB de VRAM. La conectividad está presente a través de un adaptador inalámbrico Wifi/Bluetooth Intel Wireless 3165 y una interfaz cableada Gigabit Ethernet Realtek RTL8101/2/6E. Viene con multilector de tarjetas y su teclado es inglés retroiluminado en rojo. Este equipo, en dudosa distinción, ostenta el esquema representativo del negro cabeza imperialista galáctico Darth Vader, y si bien venía con un mediocre Window$ 10 humorado con 30GB de contenido de esta tontorrona saga, ha de decirse que en general opera excelentemente con Ubuntu 16.04.2LTS Xenial Xerus, en su edición Mate de 64 bits.
Posiblemente si la instalación del sistema operativo GNU con Linux se hiciese desde cero, todo el hardware operaría óptimamente. Sin embargo, esta portátil reemplazó a otra, y en aras de la brevedad se le trasplantó el excelente disco Kingston de estado sólido de otra máquina dotada con Ubuntu 16.04.2LTS en esta. El trasplante "a lo vikingo" resultó exitoso.

Se producía sin embargo, una particularidad que por pequeña,no dejaba de ser molesta y dable de corregirse: el touchpad tipo Synaptic, no podía apagarse adecuadamente con la combinación Fn+F4 como debería hacerlo.
En primer lugar, debemos saber que esta HP Pavillion cuenta, como muchas portátiles, de "teclas de acción" combinadas con sus teclas de función (las teclas F1 hasta F12). Esto produce que las teclas F1-F12 no funcionen como tales, sino que cumplan la siguientes funciones:

F1: Ayuda
F2: Disminuye brillo de pantalla
F3: Aumenta brillo de pantalla
F4: Apaga / Enciende el Touchpad
F5: Enciende/Apaga la retroliluminación del teclado.
F6: Sonido Encendido / Apagado
F7: Disminuye el volúmen
F8: Aumenta el volúmen.
F9: Pista Anterior.
F10: Reproducir / Pausa.
F11: Pista siguiente
F12: Modo Avión (Wifi y Bluetooth On/Off).

Si queremos acceder al uso de las teclas de función (muy extendido en Linux), deberíamos combinarlas con la tecla Fn. Esto lo hace extremadamente engorroso.

Afortunadamente, este aspecto se modifica desde la BIOS del sistema (un programa de configuración propio del equipo que se activa incluso antes que el sistema operativo). Para ello debemos entrar a la BIOS: apenas y no bien encendamos la portátil, debemos presionar repetidamente la tecla Esc . Si todo sale bien, aparecerá un menú que nos solicitará qué queremos hacer. Simplemente presionamos F10 para activar la opción "Configuración de BIOS del Sistema".

Se hará presente entonces la pantalla de configuración de la BIOS. Es importante no modificar nada, solo el parámetro correspondiente a las teclas de acción. Presionamos dos veces la tecla Flecha de Cursor derecho para movernos a la opción Configuración de sistema, y usamos la Flecha del Cursor Abajo para movernos hasta la opción Modo de las Teclas de Acción. Presionamos Enter para cambiar su estado, y seleccionamos Desactivado y presionamos Enter.
Conforme los cambios nos hayan quedado como se indican en la pantalla, presionamos F10 para guardar y salir (el sistema nos preguntará si deseamos salir guardando los cambios realizados, debemos indicarle que si).

Ahora, para que las funcionalidades descriptas anteriormente se activen, deben combinarse con la tecla Fn. Si oprimimos F1 a F2 simplemente operarán como teclas de función convencionales.

Esto debería funcionar adecuadamente. Ahora bien, cuando presionamos Fn+F4 para apagar el Touchpad, este se apaga, pero solo momentánemanete. Al usarlo por segunda vez se reactivará (parecería que sólo está ejecutando la funcionalidad de "apagar el touchpad para escribir"). Afortunadamente, a toda necesidad corresponde un derecho que el Justicialismo puede hacer Realidad Efectiva.

En este caso podremos realizar un guión de programación, o script, encargado de sensar el estado del Touchpad y encenderlo o apagarlo alternativamente de una manera mas agresiva, y asignarle este nuevo script la combinación Fn+F4 para que lo active. Esto será muy sencillo si lo hacemos de la manera en las que os instruiré. En primer lugar abrimos una consola terminal con Ctrl+Alt+T. En la pantalla que se despliegue, ingresamos el siguiente comando de organización:

nano ~/.tp

Al presionar Enter, esto nos abrirá el editor de texto GNU Nano, con un archivo oculto y en blanco llamado "tp". Simplemente le pegamos el siguiente código fuente:

#!/bin/bash
# tp
# Pone el touchpad en on/off.
# Ubuntu Peronista 

# Obtiene el Identificador del touchpad.
tp_id=`xinput list | grep -i touchpad | awk '{ print $6 }' | sed 's/id=//'`


# Se fija si el touchpad estaba activado o no.
tp_enabled=`xinput list-props $tp_id | grep Device\ Enabled | awk '{ print $4 }'`


if [ $tp_enabled = 0 ]
then
  # Si el touchpad estaba desactivado, le da gimonte.
  xinput set-prop $tp_id "Device Enabled" 1
  echo "El Touchpad ahora se ha encendido"
elif [ $tp_enabled = 1 ]
then
  # Si el touchad estaba activo, lo apaga.
  xinput set-prop $tp_id "Device Enabled" 0
  echo "El Touchpad ahora se ha apagado."
else
  echo "tp_toggle: No se pudo obtener el status del touchpad desde xinput."
  exit 1
fi


Acto seguido presionamos Ctrl+o (para guardar los cambios) y Ctrl+x (para salir del editor Nano).

Conforme volvamos a la terminal, le asignaremos al script .tp los permisos necesarios para que pueda ejecutarse. Ello lo hacemos con el comando:

chmod +x .tp

Ahora podremos probar el programa. Para ejecutarlo desde la terminal puedo ingresar:

./.tp

...Y el sistema debería devolvernos:

El Touchpad ahora se ha encendido.

o:

El Touchpad ahora se ha apagado.

Conforme que veamos que el programa funciona adecuadamente, podremos asignarle una combinación de teclas. Para ello vamos a Sistema / Preferencias / Hardware / Combinaciones de Teclas.

Esta ventana nos listará las combinaciones de teclas que podremos usar como atajo para activar diferentes funcionalidades, pero no hay ninguna para encender o apagar el Touchpad. Para crearla, presionamos el botón +Añadir. Esto abrirá el cuadro de diálogo "Combinación personalizada".

Podremos ingresar un nombre descriptivo a la Acción en el campo "Nombre:" (por ejemplo, "Trackpad On/Off"), y en el campo "Comando:" tal como se indica en la figura, debemos ingresar el comando de ejecución del guión: ./.tp

Conforme presionemos el botón Aceptar, se habrá creado tal Acción, pero no tendrá de momento ninguna combinación de teclas asignada (en la columna Combinación indicará "Desactivado"). Para asignarle una combinación debemos hacer clic sobre la indicación "Desactivado" de la columna correspondiente a la Acción, y al indicarse "Combinación nueva", debemos oprimir la que deseemos, en este caso utilizaremos Fn+F4.
Cuando la hayamos ingresado, el sistema debería indicar "Mod4+P" (el cual es el código interno de tal combinación). En tal caso presionamos el botón Cerrar, y de ahora en mas con Fn+F4 podremos activar o desactivar el Touchpad mientras estemos en una sesión de Escritorio Gráfico.
Y ya con esto podremos utilizar el touchpad activandolo o desactivándolo con Fn+F4 cuando lo deseemos, gritando al cielo "¡Viva Perón!".

No hay comentarios:

Publicar un comentario