FlashLinuxSistemas OperativosSoftware

Solución de problemas y configuración avanzada del Touchpad en Linux

touchpad

Nunca he tenido realmente problemas con el touchpad en ninguna distro de Linux, hasta que utilicé un Touchpad multi-táctil -o multitouch, como prefieran llamarlo-, el problema en sí es que no funcionaba el clic derecho. El uso de las configuraciones correctas del touchpad nos puede servir para realizar ciertas acciones, como hacer un scroll vertical, horizontal o circular, avanzar o retroceder páginas en el navegador tocando en ciertas zonas y desactivar áreas del mismo. En este artículo les hablaré de los touchpad Synaptics y más específicamente de sus drivers.

[note] [h3]¡Atención![/h3] Antes de editar cualquier documento recuerda hacer una copia del mismo para poder restaurarlo en caso de errores.[/note]

Vamos a trabajar con el archivo del driver Synaptic como ya lo mencione antes, para ello editamos el archivo desde la terminal usando nuestro editor de texto preferido:

$ sudo nano /usr/share/X11/xorg.conf.d/50-synaptics.conf

Generalmente en este archivo no están especificadas todas las combinaciones de valores posibles, si se omiten es porque toman el valor por defecto. La manera de establecer los valores es la siguiente:

Section "InputDevice"
  Identifier "devname"
  Driver "synaptics"
  Option "Device"   "devpath"
  Option "Path"     "path"
  ...
EndSection

Vamos por partes.

¿Qué tipo de Touchpad tienes?

Existen touchpads de varios tipos:

  1. El touchpad clásico: tiene 2 o 3 botones físicos (derecho, izquierdo, el botón central no está disponible en todos). El área táctil, el touchpad en sí, el cual reconoce las coordenadas donde se presiona para controlar el puntero. En las últimas versiones vienen acompañados de control de gestos (a nivel software).
  2. El touchap multi-táctil o multi-toque: no suele tener botones físicos, en lugar de ellos maneja el borde inferior para que hagan las veces de los botones derecho e izquierdo, control de gestos como el desplazamiento vertical y horizontal en cualquier zona utilizando 2 dedos, el control por taps o «toques» con uno, dos o tres dedos (una acción diferente para cada tipo de toque).
  3. El touchpad clásico, capaz de simular el sistema multi-táctil: este es capaz de simular el toque con de más de un dedo en la superficie calculando el área que se encuentra presionado, es decir, si la superficie donde se presiona es superior a la superficie que podría llegar a cubrir un solo dedo, entonces se dice que en realidad hay dos dedos presionando la superficie. Espero no ser muy confuso en este último punto.

Vamos a hablar de las configuraciones del driver del dispositivo Synaptic, si deseas saber que touchpad posees puedes ejecutar en la consola:

$ xinput

xinput En este caso pueden ver que el touchpad es SynPS/2 Synaptics Touchpad.

Problema del clic derecho

Investigando el problema del clic derecho en touchpads multi-toques es que decidí hacer este artículo. Aquí les dejo algunas posibles soluciones, puede ser que ninguna de estas te sirva, debes probar para saber que opción te sienta mejor.

Opción 1

No es una opción en realidad, sino que quizás no te hayas dado cuenta, en este tipo de touchpads -en algunos de ellos- la función clic derecho se activa haciendo un tap con dos dedos a la vez, es decir, un toque con dos dedos. Puede que debas hacerlo un poco más lento de lo habitual, dependerá de la configuración por defecto. ¿Es tu caso?

Opción 2

Si no es tu caso el anterior, o no te gusta la manera de activar el clic derecho, prueba esta otra opción: Activa una de las esquinas para que haga las veces de clic derecho. Una alternativa muy buena, aunque dependiendo nuevamente de la configuración, el área considerada como «esquina» en el touchpad puede resultar muy pequeña, lo que dificultaría el tiempo para acceder al clic derecho. Probemos.

Editamos el archivo:

$ sudo nano /usr/share/X11/xorg.conf.d/50-synaptics.conf

Agregamos una nueva opción dentro de la sección. La opciones que tenemos son:

  • LTCornerButton = Esquina Superior Izquierda
  • LBCornerButton = Esquina Inferior Izquierda
  • RTCornerButton = Esquina Superior Derecha
  • RBCornerButton = Esquina Inferior Derecha

y los valores que puede tomar:

  • «1» = clic izquierdo
  • «2» = clic derecho
  • «3» = clic central

Por ejemplo, podríamos decir que al tocar la esquina inferior derecha simularíamos el clic derecho, para esto agregamos

Option "RBCornerButton" "1"

rbcornerbutton

Al finalizar guardamos el archivo y reiniciamos las x, con Ctrl + Alt + Retroceso o desde la consola ejecutando:

$ sudo restart lightdm

* lightdm / gdm / kdm / etc. 

O también pueden reiniciar el equipo.

Opción 3

Si ninguna de estas opciones te convence, todavía puedes forzar a que el touchpad se comporte tal cual lo haría un mouse. Esta opción es la menos recomendada, ya que perderías la posibilidad de hacer scroll, aunque los botones físicos funcionarían. Para esto ejecutamos en la consola:

$ sudo modprobe -r psmouse

$ sudo modprobe psmouse proto=imps

Esto funcionará hasta que reinicies las X o el equipo. Para hacerlo permanente debes crear un archivo en /etc/modprobe.d/ darle un nombre cualquier por ejemplo confTouchpad. Dentro debes guardar la siguiente linea:

modprobe psmouse proto=imps

Guardamos el archivo, reiniciamos las X y listo.

Otras configuraciones.

Un archivo típico de driver puede tener las siguientes configuraciones:

Section «InputClass»

Identifier «Touchpad» # required

MatchIsTouchpad «yes» # required

Driver «synaptics» # required

Option «MinSpeed» «0.5»

Option «MaxSpeed» «1.0»

Option «AccelFactor» «0.075»

Option «TapButton1» «1»

Option «TapButton2» «2» # multitouch

Option «TapButton3» «3» # multitouch

Option «VertTwoFingerScroll» «1» # multitouch

Option «HorizTwoFingerScroll» «1» # multitouch

Option «VertEdgeScroll» «1»

Option «CoastingSpeed» «8»

Option «CornerCoasting» «1»

Option «CircularScrolling» «1»

Option «CircScrollTrigger» «7»

Option «EdgeMotionUseAlways» «1»

Option «LBCornerButton» «8»

Option «RBCornerButton» «9»

EndSection

No es objetivo de este artículo explicar cada una de ellas, pero si mencionare algunas opciones que me parece útiles a interesantes:

Las últimas 2 opciones son LBCornerButton y RBCornerButton y tienen asígnados los valores 8 y 9 respectivamente. Estos valores corresponden a las ordenes de navegación hacia atrás(8) y hacia adelante(9) en los navegadores web, una acción que me pareció muy llamativa. Es decir que al tocar la esquina inferior izquierda estarías volviendo hacia la página anterior en cualquier navegador. ¿Interesante no?

Otras opciones interesantes son TapButton1, TapButton2 y TapButton3, que se activan al presionar el touchpad con uno dedo, dos o tres, respectivamente, permitiendo indicar la acción deseada.

Opciones LeftEdge, RightEdge, TopEdge, BottomEdge. Estas opciones permiten asignar coordenadas que definen el área de funcionamiento del touchpad, cualquier punto fuera de estas coordenadas no será detectado, es una manera de reducir el área de funcionamiento o sensibilidad del touchpad. Puede ser útil en ciertos casos.

Opciones AreaLeftEdge, AreaRightEdge, AreaTopEdge, AreaBottomtEdge. Permiten ignorar los gestos de toque y scroll de un área específica. En la siguiente gráfica pueden ver como está definida.

areas touchpad Espero esta información les sea de ayuda. Si desean hacer algunos cambios o pruebas sobre el touchpad y desean estudiar más al respecto les recomiendo que lean el manual de uso, donde encontraran todas las configuraciones posibles para los dispositivos. Para esto accedemos desde la consola a:

$ man 4 synaptic

O pueden verla directamente online aquí.

Fuentes:

Etiquetas

Alejandro

Fundador de Cultura Cuántica · Lic. en Sistemas · Programador de software/hardware · SysAdmin · Twitter: @alegorosito ale@culturacuantica.com.ar

Artículos relacionados