Ubuntu Trucos

TOUCHPAD – Desactivar el panel táctil cuando se detecta un ratón externo

Con la ayuda de udev, es posible deshabilitar automáticamente el panel táctil, para el caso de que un ratón externo se conecte. Para ello, agregue las siguientes reglas udev al archivo /etc/udev/rules.d/01-touchpad.rules:

sudo gedit /etc/udev/rules.d/01-touchpad.rules
(sustituir gedit por el editor de texto de nuestro sistema)

ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/tu nombre de usuario/.Xauthority", ENV{ID_CLASS}="mouse", ENV{REMOVE_CMD}="/usr/bin/synclient TouchpadOff=0", RUN+="/usr/bin/synclient TouchpadOff=1"

IMPORTANTE QUE EL TEXTO ANTERIOR ESTE EN UNA SOLA LINEA.
PONER EL NOMBRE DE USUARIO CORRECTO DONDE SE INDICA.
AL CONECTAR UN RATÓN USB DEBERÍA DESACTIVARSE EL TOUCHPAD
SI SE INICIA CON EL RATÓN USB CONECTADO Y EL TOUCHPAD ESTÁ HABILITADO SIMPLEMENTE DESENCHUFAR EL RATÓN USB Y VOLVER A CONECTARLO PARA QUE SE EJECUTE LA ORDEN.
Esta información se ha extraído de;
https://wiki.archlinux.org/index.php/Touchpad_Synaptics_%28Espa%C3%B1ol%29#Desactivar_el_panel_t.C3.A1ctil_cuando_se_detecta_un_rat.C3.B3n_externo

=================================================================
SI QUEREMOS VER LAS NOTIFICACIONES DEL PROCESO. (ESTO NO ES NECESARIO PARA EL CORRECTO FUNCIONAMIENTO)
ABRIMOS UNA TERMINAL Y PEGAMOS EL SIGUIENTE TEXTO COMPLETO. (DESDE #! /bin/bash …. hasta echo “listo”

#!/bin/bash
#El script MANUAL se encarga de desactivar y activar el touchpad cuando se presiona la combinacion seleccionada
#El script AUTO se encarga de revisar si hay algun raton conectado, y si es asi, desactiva el touchpad
gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_auto-disable true
echo "Generando los scripts"
MANUAL=touchpad-manual
AUTO=touchpad-auto
zenity --question --text="¿Desea activar las notificaciones?\nSe instalara el paquete libnotify-bin\npara lanzar notificaciones a traves de Notify-OSD"
if [ $? = 0 ];then
    gksu echo Instalando
    sudo apt-get install libnotify-bin
    gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_notify true
else
    gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_notify false
fi
tee $MANUAL << EOF
#!/bin/bash
gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_auto-disable false
#Si el estado actual es activado, lo desactiva, si no, lo activa
if [ \`gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled\` = true ]; then
    gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
    #synclient TouchpadOff=1
    if [ \`gconftool-2 -g /desktop/gnome/peripherals/touchpad/touchpad_notify\` = true ]; then
        notify-send --icon=mouse "Touchpad Deshabilitado"
    fi
else
    gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
    #synclient TouchpadOff=0
    if [ \`gconftool-2 -g /desktop/gnome/peripherals/touchpad/touchpad_notify\` = true ]; then
        notify-send --icon=mouse "Touchpad Habilitado"
    fi
fi
EOF

tee $AUTO << EOF
#! /bin/bash
# Depende de libnotify-bin
notify=0    # Deshabilita la notificacion en el arranque
# Sincroniza synclient con gconf
#if [ \`gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled\` = true ]; then
#    synclient TouchpadOff=0
#elif [ \`gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled\` = false ]; then
#    synclient TouchpadOff=1
#fi
while [ 1 ]
do
    if [ \`gconftool-2 -g /desktop/gnome/peripherals/touchpad/touchpad_auto-disable\` = true ]; then
        if [ \`gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled\` = true ] && [ -e /dev/input/by-id/*event-mouse ]; then # Se enchufa un Ratón
            gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
            #synclient TouchpadOff=1
            if [ \$notify = 1 ]; then
                notify-send --icon=mouse "Touchpad Deshabilitado" "Se ha detectado un Ratón externo"
            fi

        elif [ \`gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled\` = false ] && [ ! -e /dev/input/by-id/*event-mouse ]; then # Se desenchufa un Ratón
            gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
            #synclient TouchpadOff=0
            if [ \$notify = 1 ]; then
                notify-send --icon=mouse "Touchpad Habilitado" "Se ha desconectado el Ratón externo"
            fi
        fi
    fi
    if [ \`gconftool-2 -g /desktop/gnome/peripherals/touchpad/touchpad_notify\` = true ]; then
        notify=1
    fi
    sleep 5  # Periodo de refresco en segundos
done
EOF

echo "Instalando los script"
gksu cp $MANUAL /usr/bin/
rm $MANUAL
sudo cp $AUTO /usr/bin/
rm $AUTO
cd /usr/bin/
sudo chmod +rx $MANUAL
sudo chmod +rx $AUTO

echo "Asociando combinacion de teclas Alt+t"
gconftool-2 -t str --set /apps/metacity/global_keybindings/run_command_8 "<Alt>t"
gconftool-2 -t str --set /apps/metacity/keybinding_commands/command_8 "$MANUAL"
echo "Asociando combinacion de teclas Alt+a para el modo automático"
gconftool-2 -t str --set /apps/metacity/global_keybindings/run_command_7 "<Alt>a"
gconftool-2 -t str --set /apps/metacity/keybinding_commands/command_7 "gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_auto-disable true"

echo "Creando autoarranque"
cd /usr/share/gnome/autostart/
sudo tee $AUTO.desktop << EOF
[Desktop Entry]
Type=Application
Name=AutoDeshabilitar Touchpad
Exec=$AUTO
Icon=mouse
Comment=Detecta si exixte un raton, y si es asi, deshabilita el touchpad
EOF
echo "Listo"

PONER LA CONTRASEÑA DE USUARIO Y ESPERAR A QUE SALGA EL TEXTO ECHO “LISTO”
PULSAR CTRL+C Y ESCRIBIR exit para salir de la consola, reiniciar el sistema.

AL CONECTAR UN RATÓN USB DEBERÍA DESACTIVARSE EL TOUCHPAD
SI SE INICIA CON EL RATÓN USB CONECTADO Y EL TOUCHPAD ESTÁ HABILITADO SIMPLEMENTE DESENCHUFAR EL RATÓN USB Y VOLVER A CONECTARLO PARA QUE SE EJECUTE LA ORDEN.

Anuncios

2 comentarios sobre “TOUCHPAD – Desactivar el panel táctil cuando se detecta un ratón externo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s