Script para desactivar el TouchPad

Me comenta Francesc que publique este script, su funcionalidad es desactivar el touchpad de un ordenador portatil cuando detecta que hay un mouse o pulsando la combinación de teclas Alt+t (por desgracia no he podido probarlo, si detectais algún problema comentadlo en los comentarios, valga la redundancia).

#!/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 --type boolean --set /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 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_notify true
else
	gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_notify false
fi
echo '#!/bin/bash
gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_auto-disable false
#Si el estado actual es activado, lo desactiva, si no, lo activa
if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = true ]; then
	gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_enabled false
	#synclient TouchpadOff=1
	if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_notify) = true ]; then
		notify-send --icon=mouse "Touchpad Deshabilitado"
	fi
else
	gconftool-2 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_enabled true
	#synclient TouchpadOff=0
	if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_notify) = true ]; then
		notify-send --icon=mouse "Touchpad Habilitado"
	fi
fi' | tee $MANUAL

echo '#! /bin/bash
# Depende de libnotify-bin
notify=0	# Deshabilita la notificacion en el arranque
# Sincroniza synclient con gconf
#if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = true ]; then
#	synclient TouchpadOff=0
#elif [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = false ]; then
#	synclient TouchpadOff=1
#fi
while [ 1 ]
do
	if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_auto-disable) = true ]; then
		if [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = true ] && [ -e /dev/input/by-id/*event-mouse ]; then # Se enchufa un Ratón
			gconftool-2 --type boolean --set /desktop/gnome/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 [ $(gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled) = false ] && [ ! -e /dev/input/by-id/*event-mouse ]; then # Se desenchufa un Ratón
			gconftool-2 --type boolean --set /desktop/gnome/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 --get /desktop/gnome/peripherals/touchpad/touchpad_notify) = true ]; then
		notify=1
	fi
	sleep 5  # Periodo de refresco en segundos
done' | tee $AUTO

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 --type boolean --set /desktop/gnome/peripherals/touchpad/touchpad_auto-disable true"

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

Funcionamiento:

*Modo automático: se desactiva el touchpad al detectar un ratón externo.

*Modo manual: al pulsar Alt+t se cambia a modo manual, y se activa o desactiva el touchpad (Alt+a para volver a modo automático).

Notas:

Si tienes activado compiz, debes activar el pluguin Comandos
En Karmic es incompatible con Deshabilitar touchpad cuando se escribe

Download | Ubuntu Leon

22 Responses to “Script para desactivar el TouchPad”


  1. 1 Wagner octubre 6, 2010 de 10:43 pm

    interesante el script, si desactiva automáticamente cuando hay un ratón externo.

    le va caer de perlas a una amiga.

  2. 2 Daniel octubre 9, 2010 de 12:54 am

    No me funciona la detección automática, solo la manual.

    • 3 Daniel octubre 10, 2010 de 1:34 am

      Ok me funciona correctamente, después de apagar el portátil y encenderlo se a cargado en el autoarranque el script touchpad-auto y ahora al conectar el ratón se desactiva el touchpad correctamente. En un script estupendo.

  3. 4 Iosu octubre 14, 2010 de 10:16 am

    NO FUNCIONA MUY CORRECMENTE QUE DIGAMOS; PUES NO ME DEJA USAR NI LAS LETRAS “A” NI “T”, TENGO QUE TENER LA TECLA SHITF PRESIONADO; AHORA ES PEOR QUE LA ENFERMEDAD; QUISIERA ELIMINAR EL SCRIPT ¿COMO HACER?

  4. 5 Iosu octubre 14, 2010 de 10:28 am

    RESULTA QUE AL PRESIONAR LAS TECLAS “t” se ACTIVA, pero no puedo escribir NADA TENGO QUE TENER LA TECLA SHITF PRESIONADO, no se que hcer

    • 6 obZen octubre 18, 2010 de 9:46 am

      Puede ser que tengas la tecla Alt trabada. ¿Que ocurre cuando pulsas F1?. Si se despliega el menú Aplicaciones, es problema de tu teclado.

      para cambiar la combinacion de teclas, ejecuta:
      gconftool-2 -t str –set /apps/metacity/global_keybindings/run_command_7 “a”
      gconftool-2 -t str –set /apps/metacity/global_keybindings/run_command_8 “t”
      sustituyendo lo que esta entre comillas por la combinación que quieras

      Para Desinstalar:
      gconftool-2 -t str –set /apps/metacity/global_keybindings/run_command_7 “disabled”
      gconftool-2 -t str –set /apps/metacity/global_keybindings/run_command_8 “disabled”
      gconftool-2 -t str –set /apps/metacity/keybinding_commands/command_7 “”
      gconftool-2 -t str –set /apps/metacity/keybinding_commands/command_8 “”
      sudo rm /usr/bin/touchpad-manual /usr/bin/touchpad-auto

  5. 7 Jonathan octubre 18, 2010 de 5:17 pm

    Me gustaría contactar con el creador de este script, tengo que hacerle una pregunta. Gracias de antemano.

    • 8 obZen octubre 20, 2010 de 11:57 pm

      Lo hice yo.

      Y aprovecho para hacer una pregunta:
      Estoy intentando hacer una nueva versión que use los eventos de udev en lugar de estar cada 5 segundos chequeando.

      La regla de udev es esta: /etc/udev/rules.d/63-mouse.rules
      KERNEL==”mouse*”, ACTION==”add”, RUN+=”/usr/bin/tpad 0″
      KERNEL==”mouse*”, ACTION==”remove”, RUN+=”/usr/bin/tpad 1″

      y el script (tpad) que ejecuta es este (udev lo ejecuta como root):
      #! /bin/bash
      USER=$(cat /etc/passwd | grep :1000: | cut -d ‘:’ -f 1)

      if [ $1 = 0 ]; then
      sudo -u $USER dbus-launch gconftool-2 –type boolean –set /desktop/gnome/peripherals/touchpad/touchpad_enabled false
      sudo -u $USER notify-send –icon=mouse “Touchpad Deshabilitado” “Se ha detectado un Ratón externo”
      elif [ $1 = 1 ]; then
      sudo -u $USER dbus-launch gconftool-2 –type boolean –set /desktop/gnome/peripherals/touchpad/touchpad_enabled true
      sudo -u $USER notify-send –icon=mouse “Touchpad Habilitado” “Se ha desconectado el Ratón externo”
      fi

      El problema es que al ejecutar sudo -u $USER dbus-launch gconftool-2, se quedan 2 procesos nuevos activos (dbus-daemon y gconfd-2), y me gustaría evitarlo.

      He probado con gconftool-2 –config-source=xml::/home/$USER/.gconf, y esto modifica los xml, pero no actua sobre gconfd hasta que este se actualiza

      Otro problema es que notify-send solo funciona ejecutando este script directamente (tpad 0) con sudo o sin sudo

  6. 9 ClarkXP octubre 25, 2010 de 6:00 pm

    Gracias amigo

    gconftool-2 –type boolean –set /desktop/gnome/peripherals/touchpad/touchpad_enabled true

    Mirando tu script pude solucionar un problema con mi touchpad que se desactivaba al iniciar sesión!! xDD

    te lo agradezco, estuve semanas buscando la solucion y leyendo tu script me dio una idea.

  7. 10 zaret noviembre 18, 2010 de 3:41 am

    bueno la verdad es que lo ejecute como su pero no paso nada, intente tanto manual como automático, mi touchpad aun funciona, uso ubuntu 10.10 si me pueden ayudar se agradece

  8. 11 obZen noviembre 18, 2010 de 12:47 pm

    Al parecer «menor que»Alt«mayor que» solo aparece en el modo código que aparece en le entrada, prueba a bajarlo directamente, darle permisos de ejecución, y ejecutarlo con doble clic (sin su ni sudo, lo que requiere permisos ya lleva sudo, y te pide la contraseña):
    http://sites.google.com/site/trucosubuntu/controladores/touchpad/touchpad.sh

  9. 12 Marcelo diciembre 27, 2010 de 12:55 pm

    Hola no se pero a mi no me funciona ni manual ni auto, el touch esta prendido siempre que no este escribiendo.
    Lo mismo con le boton de apagrar el touch no se como activarlo.

    • 13 obZen enero 16, 2011 de 1:15 am

      este script funciona fijo en lucid y maverick.
      este comando deberia desactivarte el touchpad:
      gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_enabled false

      Y este deberia activarlo:
      gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/touchpad_enabled true

      Si estos no te funcionan, prueba con synclient:
      para desactivarlo:
      synclient TouchpadOff=1

      y para activarlo
      synclient TouchpadOff=0

      si estos comandos te funcionan, descomenta las ordenes de synclient en el script

  10. 14 soilengreen marzo 8, 2011 de 7:49 pm

    Hola, tengo un Acer 5542G con Linuxmint 10 64 bits, hasta la fecha todos los intentos de desactivar por soft el touchpad han terminado en fracaso .
    Con este script me pasa lo mismo, no me funciona, por mucho que lo meta en automático o manual con alt+a y alt+t siempre funciona el dichoso touchpad.

  11. 15 Walter abril 21, 2011 de 1:13 am

    Gracias por el script, hice correr uno que me dejo sin uso la tecla T y la A jajaja pero ahí lo corregí gracias a esto. Saludos

  12. 16 Lasopio mayo 13, 2011 de 5:46 pm

    Gracias.

    @obZen: el comando synclient TouchpadOff=1 no me funciona.

    Lo que sí me funciona es:
    1º xinput list
    2º xinput set-prop x “Device Enabled” 0 (en vez de x el valor de id del touchpad)
    Para reactivarlo: xinput set-prop x “Device Enabled” 1
    Sacado de http://ubuntumexico.com/2011/03/como-desactivar-el-touchpad-en-ubuntu/

    También creo que se puede como dicen http://ubuntu-cosillas.blogspot.com/2011/02/habilitardeshabilitar-el-touchpad-del.html y http://sites.google.com/site/trucosubuntu/controladores/touchpad

    Me gustaría añadir:

    Si te pasa como a mí que te basta con el touchpad del portátil (no necesitas ratón) pero no te gusta que funcionen las pulsaciones pues te fastidian al navegar en internet, etc. las puedes deshabilitar dejando pulsada la tecla ALT, pulsando F2, poniendo gnome-mouse-properties, pulsando Enter, pulsando en la pestaña Touchpad, quitando la marca junto a “Activar pulsaciones del ratón con el touchpad” y pulsando en Cerrar.

    Para hacer lo contrario se vuelve a poner la marquita.

    Los comandos que tienen el mismo efecto son:
    synclient MaxTapTime=0
    o
    synclient TapButton1=0 TapButton2=0 TapButton3=0
    o
    xinput set-prop “nombredeldispositivo” “Synaptics Tap Time” 0 ( p.e. xinput set-prop “AlpsPS/2 ALPS GlidePoint” “Synaptics Tap Time” 0 )
    o
    xinput set-prop x –type=int y 0 ( p.e. xinput set-prop 12 –type=int 292 0 )
    o
    xinput set-prop “nombredeldispositivo” “Synaptics Tap Action” 0, 0, 0, 0, 0, 0, 0 ( p.e. xinput set-prop “AlpsPS/2 ALPS GlidePoint” “Synaptics Tap Action” 0, 0, 0, 0, 0, 0, 0 )
    o
    xinput set-prop x –type=int z 0, 0, 0, 0, 0, 0, 0 ( p.e. xinput set-prop 12 –type=int 313 0, 0, 0, 0, 0, 0, 0 )

    Para dejarlos como estaban:
    synclient MaxTapTime=180
    o
    synclient TapButton1=1 TapButton2=3 TapButton3=2
    o
    xinput set-prop “nombredeldispositivo” “Synaptics Tap Time” 180 ( p.e. xinput set-prop “AlpsPS/2 ALPS GlidePoint” “Synaptics Tap Time” 180 )
    o
    xinput set-prop x –type=int y 180 ( p.e. xinput set-prop 12 –type=int 292 180 )
    o
    xinput set-prop “nombredeldispositivo” “Synaptics Tap Action” 2, 3, 0, 0, 1, 3, 2 ( p.e. xinput set-prop “AlpsPS/2 ALPS GlidePoint” “Synaptics Tap Action” 2, 3, 0, 0, 1, 3, 2 )
    o
    xinput set-prop x –type=int z 2, 3, 0, 0, 1, 3, 2 ( p.e. xinput set-prop 12 –type=int 313 2, 3, 0, 0, 1, 3, 2 )

    Se pueden ejecutar desde ALT+F2 o desde terminal o poner como atajos de teclado (con gnome-keybinding-properties) o poner en scripts.

    Para saber los números x, y, z y el texto “nombredeldispositivo” se usan:
    1º xinput list (x es el número tras id= de la línea que diga algo de Alps o Synaptics, texto que es precisamente “nombredeldispositivo”)
    2º xinput list-props x|grep -i tap (en vez de x se pone el número que sea. En vez del número se puede poner el texto con Alps o Synaptics entre comillas) (y es el número entre paréntesis de la línea que dice “Synaptics Tap Time”; z es el número entre paréntesis de la línea que dice “Synaptics Tap Action”)

    Más información, en inglés: http://ubuntuforums.org/showthread.php?t=1567479

    %%%%%%%%%%%%%%%%%%%

    Tomado de http://www.ubuntu-es.org/node/154732

  13. 17 Lasopio mayo 14, 2011 de 10:54 pm

    A) Respecto a todo el touchpad:

    También se puede desactivar con:
    sudo modprobe -r psmouse
    Para reactivarlo:
    sudo modprobe -i psmouse
    o
    sudo modprobe psmouse
    Sacado de andaravelasvir.com/2010/08/28/desactivar-el-touchpad-en-kubuntu/

    B) Sólo respecto a las pulsaciones de ratón del touchpad:

    Se puede usar un pequeño script para que al pulsar una combinación de teclas se desactiven las pulsaciones del ratón y al volver a pulsar la misma combinación se vuelvan a activar.

    El script sería así (para device, en vez de 12 cada uno tiene que poner el valor de su x y para property en vez de 313 el de su z):

    #!/bin/bash

    device=12
    property=313
    mode=”$(xinput list-props $device | grep $property | cut -d’,’ -f5)”

    if [ $mode -eq “1” ] ;
    then
    xinput set-prop $device $property 0, 0, 0, 0, 0, 0, 0
    else
    xinput set-prop $device $property 2, 3, 0, 0, 1, 3, 2
    fi

    Al script hay que darle permiso de ejecución. Se puede guardar (como root o administrador) en /usr/bin, para poder ser llamado desde la combinación de teclas que se elija en gnome-keybinding-properties.

  14. 18 Lasopio mayo 22, 2011 de 8:31 pm

    B) Sólo respecto a las pulsaciones de ratón del touchpad:

    GNOME puede hacer estas cosas vía GConf. Esto hace posible un script más sencillo, que no require de averiguaciones previas:

    #!/bin/bash

    mode=”$(gconftool-2 -g /desktop/gnome/peripherals/touchpad/tap_to_click)”

    if [ $mode == “true” ] ;
    then
    gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/tap_to_click false
    else
    gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/tap_to_click true
    fi

    Nota: el script se puede guardar donde se quiera, pero si se hace lo normal es que haya que poner su ruta o localización antes de su nombre en gnome-keybinding-properties. En cambio, si lo sitúas en /usr/bin (como root o administrador), no hace falta que pongas la ruta, basta con el nombre.

    Nota2: Para ser más precisos, el comando synclient TapButton1=0 TapButton2=0 TapButton3=0 debería ser:
    synclient RTCornerButton=0 RBCornerButton=0 TapButton1=0 TapButton2=0 TapButton3=0

    Nota3: Para ser más precisos, el comando synclient TapButton1=1 TapButton2=3 TapButton3=2 debería ser:
    synclient RTCornerButton=2 RBCornerButton=3 TapButton1=1 TapButton2=3 TapButton3=2

  15. 19 RuberHG septiembre 10, 2011 de 4:06 am

    Hola, muy bueno el script, justo lo que necesitaba hace mucho tiempo.

    He realizado algunas modificaciones al script original para eliminar en las combinaciones de teclas que coincidían con algunas aplicaciones y para no depender de los comandos de Compiz.

    Acá les dejo el script modificado:
    http://dl.dropbox.com/u/4251663/touchpad.sh

  16. 20 Kayela abril 9, 2019 de 2:05 pm

    Pues sí, a veces toca desactivar el touchpad. Por ejemplo cuando empieza a fallar y nos pega texto, cierra pestañas o ventanas, etc. sin nosotros desearlo ni ordenarlo. Si nos manejamos bien con el teclado y sus atajos o tenemos un práctico y económico ratón USB conectado podemos deshabilitar el touchpad tranquilamente.

    En el entorno de escritorio MATE se consigue fácilmente con este comando:
    gsettings set org.mate.peripherals-touchpad touchpad-enabled false

    Para volver a activar el panel táctil:
    gsettings set org.mate.peripherals-touchpad touchpad-enabled true

  17. 21 Valale abril 9, 2019 de 2:10 pm

    A veces toca desactivar el touchpad. Por ejemplo cuando empieza a fallar y nos pega texto, cierra pestañas o ventanas, etc. sin nosotros desearlo ni ordenarlo. Si nos manejamos bien con el teclado y sus atajos o tenemos un práctico y económico ratón USB conectado podemos deshabilitar el touchpad tranquilamente.

    En el entorno de escritorio MATE se consigue fácilmente con este comando:
    gsettings set org.mate.peripherals-touchpad touchpad-enabled false

    Para volver a activar el panel táctil:
    gsettings set org.mate.peripherals-touchpad touchpad-enabled true


  1. 1 Script para desactivar el TouchPad | Ayuda Linux Trackback en octubre 7, 2010 de 12:18 pm

Responder a ClarkXP Cancelar respuesta

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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s







¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
octubre 2010
L M X J V S D
« Sep   Nov »
 123
45678910
11121314151617
18192021222324
25262728293031

Blog Stats

  • 30.924.276 hits

A %d blogueros les gusta esto: