Desactivar el touchpad al conectar un ratón en Linux
« Atajos de teclado para el reproductor Listen | Menús de aplicaciones estilo Mac en Ubuntu »
En nixternal publicaron hace tiempo un pequeño script para correr al inicio que comprueba si hay conectado un ratón al portátil, en cuyo caso desactiva el touchpad.
Lo que hace el script es guardar en la variable mousecount el número de ratones conectados. Si es 1, sólo está disponible el touchpad, si es mayor de 1, entonces no lo necesitamos, por lo que lo desactivamos ejecutando el comando
synclient TouchpadOff=1
Para poder utilizar synclient antes tenemos que añadir la línea:
Option "SHMConfig" "on"
a la sección dedicada al touchpad en xorg.conf, como explique en Desactivar el touchpad mientras se escribe en Linux.
Para editar xorg.conf en gedit como root escribimos en la consola:
sudo gedit /etc/X11/xorg.conf
Busca una sección que comience con algo parecido a:
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
y añade la nueva opción dentro de esa sección (antes del EndSection).
Ahora vamos a crear el script, de nombre, por ejemplo, raton.sh en, por ejemplo, /usr/local/bin
sudo gedit /usr/local/bin/raton.sh
En el nuevo archivo pegamos lo siguiente:
mousecount=`grep mouse /proc/bus/input/devices |grep Handler |wc -l`
if [ "$mousecount" -eq "1" ]
then
synclient TouchpadOff=0
else
if [ "$mousecount" -gt "1" ]
then
synclient TouchpadOff=1
fi
fi
Y lo hacemos ejecutable:
sudo chmod +x /usr/local/bin/raton.sh
Para que se ejecute al inicio
Sistema -> Preferencias -> Sesiones -> Programas de inicio -> Nuevo y escribimos como comando raton.sh.
Ahora bien, puede que conectemos el ratón después de haber iniciado sesión, en cuyo caso el touchpad no se desactivaría, incluso aunque ejecutáramos el script. Para conseguir que el touchpad se desactive automáticamente al conectar el ratón durante la sesión podemos crear una nueva regla para udevd, un demonio que se mantiene a la escucha de eventos del kernel indicando que se han añadido o quitado dispositivos, indicándole que ejecute un cierto script.
Creamos el nuevo script que se ejecutará cuando el evento sea relativo a un ratón
sudo gedit /usr/local/bin/raton-udevd.sh
con el siguiente contenido:
#!/bin/bash
DATE=`date`
FLOG="/tmp/udev_test.log"
echo "$DATE - [$*] - [$ACTION]" >> "$FLOG"
case $ACTION in
add)
echo "DEBUG: conectat" >> "$FLOG"
synclient TouchpadOff=1
;;
remove)
echo "DEBUG: desconectat" >> "$FLOG"
synclient TouchpadOff=0
;;
esac
Lo hacemos ejecutable:
chmod +x /usr/local/bin/raton-udevd.sh
Y editamos el archivo correspondiente
sudo gedit /etc/udev/rules.d/85-hal.rules
para añadir la nueva regla
KERNEL=="mouse*", RUN+="/usr/local/bin/raton-udevd.sh"
Relacionadas
Mmm, interesante.
Aunque creo que se podría ejecutar el script de otra forma:
En el Centro de Control de GNOME, en "Preferencias de unidades y soportes extraibles", pestaña Dispositivos de entrada", hay una opción para lanzar un programa al conectar un ratón.
Imagino que sería más fácil que andar modificando reglas de udev.
Lo que no sé si al desconectar el ratón también se ejecutará, cuestión de probralo, ja que sino el touchpad no se volverá a activar.
Saludos.
No se me había ocurrido, es una buena idea. Pero como dices no creo que funcione.
Estoy vago para probar, pero si alguno puede confirmar…
Lo que si he probado es que al desconectar el raton te quedas sin dispositivos de entrada, hasta que vuelves a poner el raton.
Te refieres a usando el método que propone Edu, ¿no?
Porque el otro funciona perfectamente, cuando desconectas el ratón activa el touchpad
Me ha picado el gusanillo, a ver si esta tarde al volver del trabajo pruebo de montarme alguna historia para que se pueda hacer mediante el diálogo de "Preferencias de unidades y soportes extraibles".
Reporta cualquier avance, Edu
Cómo desactivar el touchpad al conectar un ratón en Linux…
Script para correr al iniciar el sistema operativo que comprueba si hay conectado un ratón al portátil, en cuyo caso desactiva el touchpad….
[...] el touchpad (es molestisimo, uso un ratón Logitech grande). Conseguido gracias a mundogeek 1 y 2. Se me salta al máximo el brillo repentinamente, WTF. Era culpa de una configuración al [...]