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
interesante el script, si desactiva automáticamente cuando hay un ratón externo.
le va caer de perlas a una amiga.
No me funciona la detección automática, solo la manual.
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.
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?
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
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
Me gustaría contactar con el creador de este script, tengo que hacerle una pregunta. Gracias de antemano.
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
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.
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
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
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.
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
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.
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
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
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.
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
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
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
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