domingo, 20 de enero de 2013

Desactivar el touchpad en Linux

Hoy he tenido algo de tiempo sobrante y he decidido ocuparme (por fin) de un pequeño problema con mi portátil, un Lenovo Thinkpad Edge. Resulta que cuando te acostumbras al track point te sobra el touchpad, ya que lo rozas sin querer al apoyar las manos y te mueve el puntero del ratón cuando menos lo necesitas ;-) El caso es que en Windows 7, al incluir el applet del panel de control oficial del fabricante sí había podido desactivarlo fácilmente, pero no en Linux Mint 13 (con escritorio MATE), cuyo diálogo de preferencias del ratón no contempla tal posibilidad. Investigando un poco, resulta que hay una utilidad de línea de comandos (¡cómo no!) llamada xinput, cuyo cometido es gestionar todo periférico de entrada en el sistema X Window. Tras un rato de buceo en su página de manual y unas cuantas pruebas he dado con la forma de activar y desactivar el dichoso touchpad de forma independiente. Para que no se me olvide y además facilitar la operación lo he metido en un pequeño script que automatiza la consulta y establecimiento de la propiedad correspondiente sobre el dispositivo de marras. Pego sus escasas líneas más abajo por si a alguien más le sirve. Espero volver con más trucos Linux en breve... en serio ;-)

#!/bin/bash
# touchpad-onoff: activa / desactiva el touchpad del portátil

device_id=$(xinput --list | grep -i touchpad | cut -d= -f2 | \
            cut -f1 )
property_value=$(xinput --list-props $device_id | \
                 grep 'Device Enabled' | cut -f3)
if [ "$property_value" == "0" ]; then
  xinput --set-prop $device_id 'Device Enabled' 1
else 
  xinput --set-prop $device_id 'Device Enabled' 0
fi