
Un Touchpad en un laptop para algunos puede ser una bendición y para otros una verdadera pesadilla. En mi caso, luego de un poco de práctica y costumbre, me ha ayudado a ser bastante rápido en el uso del puntero y como sustitución completa del Mouse.
En este sentido, me dediqué a revisar un poco cómo trabaja el Touchpad de mi laptop y qué cosas puedo cambiar en su comportamiento. Es muy interesante ya que el área del Touchpad se puede definir a partir de un sistema de coordenadas, de hecho, está segmentado en 9 áreas diferentes.
En esta publicación, voy a explicar brevemente mi experiencia habilitando y cambiando algunos parámetros de mi Touchpad.
Mi caja de herramientas está formada por:
- Hardware
Laptop HP-Compaq NX6115 - Sofware:
Xorg 7.3
synclient 
- Determinar cómo Lenny está detectando el Touchpad:
# dmesg |grep Touchpad
... la respuesta de este comando fué:
[   11.040052] Synaptics Touchpad, model: 1, fw: 6.2, id: 0x1a0b1, caps: 0xa04713/0x200000 - Verificar si el servidor "Xorg" tiene debidamente configurado el Touchpad:
# vim /etc/X11/xorg.conf
... en mi caso no estaba configurado, al menos de manera explícita. Lo que conseguí en el archivo relacionado con el Touchpad fue la configuración básica del mouse ...
...
Section "InputDevice"
     Identifier  "Configured Mouse"
     Driver      "mouse"
EndSection - Comenté las líneas anteriores en el xorg.conf y configuré una nueva sección para configurar el Touchpad:
...
Section "Server Layout"
...
InputDevice "SynapticsTouchpad" "SendCoreEvents"
EndSection
...
Section "Module"
      Load "synaptics"
EndSection
...
Section "InputDevice"
 Identifier  "SynapticsTouchpad"
 Driver      "synaptics"
 Option      "AlwaysCore"             "true"  # send events to CorePointer
 #Option      "Device"                "/dev/input/mice"
 Option      "Device"                 "/dev/psaux"
 Option      "Protocol"               "auto-dev"
 Option      "SHMConfig"              "true" # configurable at runtime? security risk
 Option      "LeftEdge"               "1400"  # x coord left
 Option      "RightEdge"              "5000"  # x coord right
 Option      "TopEdge"                "1300"  # y coord top
 Option      "BottomEdge"             "4300"  # y coord bottom
 Option      "FingerLow"              "25"    # pressure below this level triggers release
 Option      "FingerHigh"             "30"    # pressure above this level triggers touch
 Option      "MaxTapTime"             "180"   # max time in ms for detecting tap
 Option      "VertEdgeScroll"         "true"  # enable vertical scroll zone
 Option      "HorizEdgeScroll"        "true"  # enable horizontal scroll zone
 Option      "CornerCoasting"         "true"  # enable continuous scroll with finger in corner
 Option      "CoastingSpeed"          "0.30"  # corner coasting speed
 Option      "VertScrollDelta"        "45"   # edge-to-edge scroll distance of the vertical scroll
 Option      "HorizScrollDelta"       "45"   # edge-to-edge scroll distance of the horizontal scroll
 Option      "MinSpeed"               "0.10"  # speed factor for low pointer movement
 Option      "MaxSpeed"               "0.60"  # maximum speed factor for fast pointer movement
 Option      "AccelFactor"            "0.0020"    # acceleration factor for normal pointer movements
 Option      "VertTwoFingerScroll"    "true"  # vertical scroll anywhere with two fingers
 Option      "HorizTwoFingerScroll"   "true"  # horizontal scroll anywhere with two fingers
 Option      "TapButton1"             "1"
 Option      "TapButton2"             "2"
 Option      "TapButton3"             "3"
 Option      "EdgeMotionUseAlways"    "1"
 Option      "EmulateMidButtonTime"   "75"
EndSection
... - Reiniciar.
 
Con esta configuración y revisando el archivo de logs del Xorg (en mi caso aparecieron al final del archivo):
less /var/log/Xorg.0.log
Verifiqué que efectivamente los cambios habían sido aplicados.
Para realizar ajustes específicos sobre el driver "synaptics" y cambiar el comportamiento del Touchpad utilicé el comando "synclient".
Para visualizar los parámetros del controlador, ejecuto:
La respuesta del comando es una lista de todos los parámetros y sus valores actuales:
Parameter settings:
  LeftEdge                = 1400
  RightEdge               = 5000
  TopEdge                 = 1300
  BottomEdge              = 4300
  FingerLow               = 38
  FingerHigh              = 43
  FingerPress             = 256
  MaxTapTime              = 180
  MaxTapMove              = 220
  MaxDoubleTapTime        = 180
  SingleTapTimeout        = 180
  ClickTime               = 100
  FastTaps                = 0
  EmulateMidButtonTime    = 75
  EmulateTwoFingerMinZ    = 257
  VertScrollDelta         = 228
  HorizScrollDelta        = 227
  VertEdgeScroll          = 1
  HorizEdgeScroll         = 1
  CornerCoasting          = 1
  VertTwoFingerScroll     = 1
  HorizTwoFingerScroll    = 1
  MinSpeed                = 0.102
  MaxSpeed                = 0.089
  AccelFactor             = 0
  TrackstickSpeed         = 40
  EdgeMotionMinZ          = 30
  EdgeMotionMaxZ          = 160
  EdgeMotionMinSpeed      = 1
  EdgeMotionMaxSpeed      = 304
  EdgeMotionUseAlways     = 1
  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
  CircularScrolling       = 0
  CircScrollDelta         = 0.1
  CircScrollTrigger       = 0
  CircularPad             = 0
  PalmDetect              = 1
  PalmMinWidth            = 10
  PalmMinZ                = 200
  CoastingSpeed           = 0.3
  PressureMotionMinZ      = 30
  PressureMotionMaxZ      = 160
  PressureMotionMinFactor = 1
  PressureMotionMaxFactor = 1
  GrabEventDevice         = 1
Dado que existe un sistema de coordenadas que definen las áreas de sensibilidad del Touchpad, utilicé el comando para ver qué valores se reportaban cada vez que lo presionaba:
Presioné cada una de las esquinas del Touchpad y aparecían los valores de las coordenadas. De toda la línea que aparecía, solamente me concentré en la segunda y tercera columna que son las coordenadas "x" y "y".
Por ejemplo, la esquina superior derecha del Touchpad reportó:
3.102  1309 1163  14 1  4  0 0 0 0 0  00000000   0  0  0   0   0
Entonces los valores asociados son:
x = 1309
y = 1163
Sucesivamente, presioné cada área del Touchpad y ajusté los valores aproximados de los parámetros ejecutando:
- synclient LeftEdge=1400
 - synclient RightEdge=5000
 - synclient TopEdge=1300
 - synclient BottomEdge=4700
 
Estos valores se reportan al driver "synaptics" en tiempo real pero son cambios temporales. Entonces, luego de comprobar que el comportamiento del Touchpad es como quería, los convertí en cambios permanentes editando los parámetros directamente en el archivo "xorg.conf" y reiniciando.
De esta manera, podemos tener el control completo de nuestro Touchpad ;-)
Saludos!
José Gregorio.
FUENTES:
- http://wiki.archlinux.org/index.php/Touchpad_Synaptics
 - http://madpenguin.org/cms/index.php/?m=show&opt=printable&id=887
 - http://ubuntuforums.org/showthread.php?p=975421
 - http://www.synaptics.com/sites/default/files/ACF126.pdf?q=decaf/utilities/ACF126.pdf