En las últimas versiones de Ubuntu, los TouchPad de Synaptics incluídos en mayoría de los computadores portátiles funcionan sin necesidad de instalar o modificar nada, gracias a un driver de código abierto que permite su utilización en entornos gráficos.
Sin embargo, es probable que quieras modificar alguna configuración, y aquí la cosa se pone un poco complicada (sólo un poco); pero en realidad este driver proporciona todas las opciones que podríamos necesitar de nuestro touchpad. Para ello, tenemos dos alternativas complementarias: GSynaptics y los ficheros de configuración de X.Org
Además, también hay un par de opciones disponibles a través de las preferencias de mouse, en Sistema → Preferencias → Ratón, bajo la pestaña Touchpad. Allí podrás des/habilitar el touchpad, el click con un toque y el desplazamiento horizontal/vertical.
GSynaptics
GSynaptics es una herramienta de configuración gráfica para el touchpad, que permite cambiar parámetros de configuración sin necesidad de reiniciar el sistema. Una vez instalado (está en los repositorios de Ubuntu), lo encontrarás en Sistema → Preferencias → Touchpad.
Al ejecutarlo por primera vez, quizás te aparezca una ventana de advertencia indicándote un error sobre SHMConfig. Éste es un parámetro de configuración del driver que viene deshabilitado por defecto; para activarlo deberás abrir una ventana del terminal y editar el fichero de configuración del Touchpad, con permisos de administrador (o puedes hacer lo mismo desde el diálogo de Ejecutar una aplicación que sale al presionar Alt+F2): gksu gedit /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi
Para habilitar SHMConfig, debes encontrar la sección que comienza con <match key="info.product" contains="Synaptics TouchPad"> (casi al principio de todo), y antes del primer cierre </match> (que corresponde al cierre de esa sección), debes ingresar la siguiente clave: <merge key="input.x11_options.SHMConfig" type="string">On</merge> —después de haber configurado el TouchPad a tu gusto, es buena idea borrar o comenar esta línea, ya que SHMConfig=On puede presentar problemas de seguridad.
Al reiniciar, podrás utilizar GSynaptics sin problema; tendrás acceso a las siguientes opciones de configuración:
- Des/activar el touchpad
- Ajustar la sensibilidad
- Des/activar el click con un toque
- Ajustar el tiempo el click con un toque
- Des/activar toque rápido
- Des/habilitar desplazamiento horizontal/vertical
- Ajustar velocidad de desplazamiento horizontal/vertical
- Des/activar desplazamiento circular
- Ajustar velocidad y punto de inicio del desplazamiento circular
- Des/activar movimiento en el eje
- Ajustar aceleración y velocidad mínima/máxima
Algo bastante completo, pero aun hay otras opciones escondidas…
Editar el archivo de configuración del TouchPad
Como quizás se han dado cuenta por la sección anterior; las cosas han cambiado algo para configurar los dispositivos que funcionan en las X: anteriormente, su configuración estaba determinada por el archivo de configuración /etc/X11/xorg.conf, mientras que ahora toda la configuración se hace automáticamente a través de HAL; una “capa de abstracción de hardware” que hace que el hardware “simplemente funcione”. En lo práctico, esto significa que ahora la configuración de los dispositivos que funcionan con las X está repartida en diversos archivos XML. El de Synaptics se encuentra en /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi
Sin embargo, a falta de una interfaz gráfica, puede resultar algo complicado saber qué valores deben llevar las variables que queramos modificar —aquí entra en juego synclient, un programa que forma parte del driver de Touchpad y que permite tanto obtener información del funcionamiento del driver, como modificar valores “al vuelo” (para lo cual será necesario activar SHMConfig, tal como hicimos en la sección anterior).
En mi caso particular, había dos cosas que me interesaba modificar: el ancho del área para el desplazamiento vertical (que era muy pequeño, y no se correspondía con el área delimitada en el touchpad) y activar el desplazamiento vertical con dos dedos (permite hacer desplazamiento vertical arrastrando dos dedos en cualquier parte del touchpad). Para ver todas las opciones a configurar, puedes ver el manual de synaptics con
Volvamos a synclient… hay tres modos que nos interesarán: ver la configuración actual, recibir información sobre el funcionamiento del touchpad, y cambiar configuraciones. Para lo primero, tenemos synclient -l, que devuelve algo como:
Parameter settings:
LeftEdge = 1632
RightEdge = 5000
TopEdge = 1575
BottomEdge = 4281
FingerLow = 25
FingerHigh = 30
FingerPress = 256
MaxTapTime = 180
MaxTapMove = 220
MaxDoubleTapTime = 180
SingleTapTimeout = 180
ClickTime = 100
FastTaps = 0
EmulateMidButtonTime = 75
EmulateTwoFingerMinZ = 257
VertScrollDelta = 100
HorizScrollDelta = 121
VertEdgeScroll = 1
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 0
MinSpeed = 0.109
MaxSpeed = 0.179934
AccelFactor = 0.0015
TrackstickSpeed = 40
EdgeMotionMinZ = 30
EdgeMotionMaxZ = 160
EdgeMotionMinSpeed = 1
EdgeMotionMaxSpeed = 400
EdgeMotionUseAlways = 0
UpDownScrolling = 1
LeftRightScrolling = 1
UpDownScrollRepeat = 1
LeftRightScrollRepeat = 1
ScrollButtonRepeat = 100
TouchpadOff = 0
GuestMouseOff = 0
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 2
RBCornerButton = 3
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 1
TapButton2 = 2
TapButton3 = 3
ClickFinger1 = 1
ClickFinger2 = 1
ClickFinger3 = 1
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 1
PalmMinWidth = 10
PalmMinZ = 200
CoastingSpeed = 0
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
GrabEventDevice = 1
Primero, lo más fácil: activar el desplazamiento vertical con dos dedos —synclient VertTwoFingerScroll=1 y listo; con eso queda activado durante la sesión, más adelante podremos hacer este cambio permanente al editar el fichero de configuración.
Ahora, para definir mejor el ancho del área de desplazamiento vertical, recurirremos nuevamente a synclient, pero ahora para tener información sobre la utilización del touchpad, con synclient -m 50, lo que nos entregará información cada 50 milisegundos sobre el dispositivo, algo similar a esto:
time x y z f w l r u d m multi gl gm gr gdx gdy
0.000 1 5855 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
18.685 2482 2250 44 1 8 0 0 0 0 0 00000000 0 0 0 0 0
18.735 2489 2247 43 1 8 0 0 0 0 0 00000000 0 0 0 0 0
18.785 2656 2233 39 1 10 0 0 0 0 0 00000000 0 0 0 0 0
18.836 3054 2222 36 1 7 0 0 0 0 0 00000000 0 0 0 0 0
18.886 3445 2215 36 1 8 0 0 0 0 0 00000000 0 0 0 0 0
18.936 3761 2179 36 1 8 0 0 0 0 0 00000000 0 0 0 0 0
18.987 3906 2126 36 1 8 0 0 0 0 0 00000000 0 0 0 0 0
19.037 3879 2068 38 1 8 0 0 0 0 0 00000000 0 0 0 0 0
19.087 3682 1978 35 1 9 0 0 0 0 0 00000000 0 0 0 0 0
19.137 3367 1828 35 1 10 0 0 0 0 0 00000000 0 0 0 0 0
19.187 3056 1749 33 1 10 0 0 0 0 0 00000000 0 0 0 0 0
19.237 2929 1731 26 1 10 0 0 0 0 0 00000000 0 0 0 0 0
19.287 1 5855 3 2 5 0 0 0 0 0 00000000 0 0 0 0 0
19.337 1 5855 4 2 5 0 0 0 0 0 00000000 0 0 0 0 0
19.588 1 5855 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
19.738 1 5855 1 2 5 0 0 0 0 0 00000000 0 0 0 0 0
19.838 1 5855 2 2 5 0 0 0 0 0 00000000 0 0 0 0 0
19.988 1 5855 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
20.289 1 5855 1 2 5 0 0 0 0 0 00000000 0 0 0 0 0
En mi caso, descubrí que el área marcada para el desplazamiento vertical en mi TouchPad comenzaba en la coordenada X = 5000, por lo que debería aplicar ese valor a RightEdge: synclient RightEdge=5000 y ya.
Recuerda que los cambios que realizas con synclient tienen efecto instantáneo, pero además son transitorios — para hacerlos permanentes, debemos editar el fichero de configuración del driver.
Fijar los cambios permanentes a la configuración
Nuevamente tendremos que editar /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi, pero como siempre, es buena idea realizar primero una copia de seguridad: sudo cp /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi.backup
Ahora sí, a editar… podemos hacerlo con cualquier editor de texto, por ejemplo: gksu gedit /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi
En mi caso, mi fichero de configuración queda así:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<match key="info.product" contains="Synaptics TouchPad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<!-- Arbitrary options can be passed to the driver using
the input.x11_options property since xorg-server-1.5. -->
<!-- EXAMPLE:
<merge key="input.x11_options.LeftEdge" type="string">120</merge>
-->
<!-- La siguiente es la línea que insertamos antes para activar SHMConfig.
Si ya no necesitas hacer más cambios o utilizar synclient, puedes comentarla
o borrarla, ya que SHMConfig=On implica riesgos de seguridad -->
<merge key="input.x11_options.SHMConfig" type="string">On</merge>
<merge key="input.x11_options.RightEdge" type="string">5000</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
</match>
<match key="info.product" contains="AlpsPS/2 ALPS">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="appletouch">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="bcm5974">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.LeftEdge" type="string">0</merge>
<merge key="input.x11_options.RightEdge" type="string">1280</merge>
<merge key="input.x11_options.TopEdge" type="string">0</merge>
<merge key="input.x11_options.BottomEdge" type="string">800</merge>
<merge key="input.x11_options.ClickFinger1" type="string">1</merge>
<merge key="input.x11_options.ClickFinger2" type="string">3</merge>
<merge key="input.x11_options.ClickFinger3" type="string">2</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">0</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">0</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizScrollDelta" type="string">0</merge>
<merge key="input.x11_options.VertScrollDelta" type="string">40</merge>
<merge key="input.x11_options.PressureMotionMinZ" type="string">10</merge>
<merge key="input.x11_options.FingerLow" type="string">16</merge>
<merge key="input.x11_options.FingerHigh" type="string">80</merge>
<merge key="input.x11_options.FingerPress" type="string">256</merge>
<merge key="input.x11_options.PalmDetect" type="string">0</merge>
<merge key="input.x11_options.PalmMinWidth" type="string">10</merge>
<merge key="input.x11_options.PalmMinZ" type="string">200</merge>
<merge key="input.x11_options.MinSpeed" type="string">0.8</merge>
<merge key="input.x11_options.MaxSpeed" type="string">1.2</merge>
<merge key="input.x11_options.AccelFactor" type="string">0.10</merge>
<merge key="input.x11_options.MaxTapMove" type="string">25</merge>
<merge key="input.x11_options.MaxTapTime" type="string">223</merge>
<merge key="input.x11_options.MaxDoubleTapTime" type="string">200</merge>
<merge key="input.x11_options.TapButton1" type="string">0</merge>
<merge key="input.x11_options.TapButton2" type="string">0</merge>
<merge key="input.x11_options.TapButton3" type="string">0</merge>
<merge key="input.x11_options.RTCornerButton" type="string">0</merge>
<merge key="input.x11_options.RBCornerButton" type="string">0</merge>
<merge key="input.x11_options.LTCornerButton" type="string">0</merge>
<merge key="input.x11_options.LBCornerButton" type="string">0</merge>
</match>
</match>
</device>
</deviceinfo>
Como pueden ver, la parte que nos interesa está prácticamente al principio (suponiendo que efectivamente quieres configurar un TouchPad Synaptics, y no otro de los dispositivos controlados por este fichero).
El archivo es un simple XML que acepta todas las propiedades descritas en el manual de Synaptics, de la misma forma que se hacía antes con xorg.conf, pero en una sintaxis un-poco distinta.
10 responses
Esta muy bien el artículo muchas gracias. Pero no explicas mucho el tema de las opciones que hay en synclient como el ClickFinger1 o el TapButton1.
Gracias.
hoteles con encanto
muy bueno eh, en verdad me ayudo.. gracias
Sí, es cierto, no explicas del todo, pero para mi es el artículo más completo sobre este tema que he visto. Gracias a ti pude configurar al fin el touchpad para que aceptara taps.
De verdad, muchas gracias… llevaba horas intentando arreglar el problema. ¿te molesta que lo ponga en mi blog?
Un saludo,
Cristian.
@Cristian: para nada me molesta, al contrario… eso sí, recuerda poner un link hacia el blog o este artículo 😉
Por supuesto. Aunque, ahora que lo pienso, explico a mi manera y te menciono por ser quien me ayudo a encontrar con la solución.
Un saludo!
[…] […]
Se puede desactivar el TouchPad cuadno tienes el ratón conctado:
http://www.segelsoft.com/2011/09/20/touchpad-indicator-desactiva-el-touchpad-al-conectar-un-raton-ubuntu/
Buenas
*** Comando: desactivar pulsaciones de ratón con touchpad, MATE ***
Deshabilitar las pulsaciones (toques, golpes, golpecitos) del ratón con el touchpad (panel táctil) se consigue fácilmente de forma gráfica. P.e. en Linux Mint 17 MATE basta con ir al menú principal > Centro de control > Hardware > Ratón > Touchpad, quitar la marca de “Activar pulsaciones del ratón con el touchpad” y cerrar esa ventana. Esto es útil para los que solemos usar el touchpad pero, tal vez por tocarlo un poco fuerte, hacemos clic sin querer, lo que nos puede traer alguna pérdida de tiempo, problemilla, … Nosotros preferimos usar los botones externos (normalmente “debajo”) para hacer clic.
Para conseguir lo mismo se puede usar el siguiente comando (en una consola o terminal o desde el diálogo “Ejecutar una aplicación”, que aparece al pulsar a la vez las teclas Alt y F2):
gsettings set org.mate.peripherals-touchpad tap-to-click false
Para volver a activar las pulsaciones:
gsettings set org.mate.peripherals-touchpad tap-to-click true
Para, en un terminal, ver si están activas o desactivadas:
gsettings get org.mate.peripherals-touchpad tap-to-click
Puede ser útil tener estos comandos en un script, p.e. en uno que podemos ejecutar tras arrancar el Live USB que, además de desactivar las pulsaciones del touchpad, puede activar la distribución de teclado española, poner nuestros motores de búsqueda favoritos de Firefox,…
——————–
En GNOME 2 los comandos equivalentes son:
gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/tap_to_click false
gconftool-2 -s -t bool /desktop/gnome/peripherals/touchpad/tap_to_click true
gconftool-2 -g /desktop/gnome/peripherals/touchpad/tap_to_click
=============
Fuente: http://www.elgrupoinformatico.com/comando-desactivar-pulsaciones-raton-con-touchpad-mate-t20619.html
Gracias por el tip, excelente!
Gracias
**** Desactivar touchpad al escribir para evitar problemas, MATE ****
Si tienes un ordenador portátil (laptop, netbook, …) posiblemente te haya pasado más de una vez que estás escribiendo más bien rápido y de repente el cursor se te va a otro sitio, se borran palabras o frases, se copia o corta (y pega) texto en cualquier lugar, … (cosas raras, fenómenos extraños, a priori inexplicables …)
Para solucionar este problema puede bastar con deshabilitar el touchpad (panel táctil) mientras escribimos (sigue funcionando perfecta e inmediatamente al dejar de escribir, sin problema alguno). En MATE (p.e. con Linux Mint 17, qiana) se consigue ejecutando el siguiente comando (en una consola o terminal o desde el diálogo “Ejecutar una aplicación”, que aparece al pulsar a la vez las teclas Alt y F2):
Para volver al estado anterior:
Para, en un terminal, ver el estado presente:
Para ver la entrada de forma gráfica basta con ejecutar …
… e ir abriendo las ramas del árbol de datos (esquemas -schemas- y entradas -keys-) hasta llegar a la entrada correspondiente: org, mate, desktop, peripherals, touchpad, disable-while-typing. Para cambiarla basta con pulsar sobre su valor (Value), siendo verdadero (true) al activar la casilla correspondiente o falso (false) al desactivarla.
Para poder ejecutar dconf-editor antes hay que instalarlo en la computadora. Se puede hacer p.e. desde Synaptic, el gestor de paquetes (Package Manager).
Si además (o en vez) de dconf-editor instalamos dconf-cli podemos ver el valor de la entrada ejecutando en un terminal:
Podemos desactivar el touchpad al escribir ejecutando:
Y así volvemos a habilitarlo:
Nota: Si instalamos dconf-tools conseguimos tanto dconf-editor como dconf-cli .
Fuente: http://www.elgrupoinformatico.com/desactivar-touchpad-escribir-para-evitar-problemas-mate-t26856.html