Trackpoint y Clickpad: habilitar botones y desplazarse (Lenovo T440s) [cerrado]

10

Acabo de recibir un Lenovo T440s que está equipado con un panel táctil Synaptics. Por defecto, no hay un botón central y el botón derecho está en la esquina inferior derecha del panel táctil. Estoy acostumbrado a la combinación de trackpointer + botones izquierdo / medio / derecho y REALMENTE extraño eso en mi nuevo modelo. Genera algo de ruido cada vez que presiono el botón, ya que el botón también forma parte del panel táctil.

Lo que hice hasta ahora es:

  • aumentar la histéresis del panel táctil a un valor muy alto, que literalmente deshabilitó la navegación
  • Habilite el modo Clickpad, que proporciona funciones de botón central / derecho
  • Defina el área del botón central / derecha como se espera en el panel táctil

Pero el problema es que el botón central no está asignado al trackpointer. Parecen ser dos dispositivos independientes en este modelo. Me pregunto cómo puedo conectar el evento activado por el botón central al botón de emulación de rueda del puntero de seguimiento.

Aquí está el resultado de mis propiedades xinput: Lista Xinput:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=12   [slave  keyboard (3)]

Panel táctil SynPS / 2 Synaptics:

Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (133):   1
    Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (256): 1
    Device Accel Constant Deceleration (257):   2.500000
    Device Accel Adaptive Deceleration (258):   1.000000
    Device Accel Velocity Scaling (259):    12.500000
    Synaptics Edges (260):  1726, 4858, 1577, 3665
    Synaptics Finger (261): 25, 30, 256
    Synaptics Tap Time (262):   180
    Synaptics Tap Move (263):   192
    Synaptics Tap Durations (264):  180, 180, 100
    Synaptics ClickPad (265):   1
    Synaptics Tap FastTap (266):    0
    Synaptics Middle Button Timeout (267):  0
    Synaptics Two-Finger Pressure (268):    282
    Synaptics Two-Finger Width (269):   7
    Synaptics Scrolling Distance (270): 87, 87
    Synaptics Edge Scrolling (271): 0, 0, 0
    Synaptics Two-Finger Scrolling (272):   1, 1
    Synaptics Move Speed (273): 1.000000, 1.750000, 0.045725, 40.000000
    Synaptics Edge Motion Pressure (274):   30, 160
    Synaptics Edge Motion Speed (275):  1, 349
    Synaptics Edge Motion Always (276): 0
    Synaptics Off (277):    2
    Synaptics Locked Drags (278):   0
    Synaptics Locked Drags Timeout (279):   5000
    Synaptics Tap Action (280): 0, 0, 0, 0, 0, 0, 0
    Synaptics Click Action (281):   1, 3, 0
    Synaptics Circular Scrolling (282): 0
    Synaptics Circular Scrolling Distance (283):    0.100000
    Synaptics Circular Scrolling Trigger (284): 0
    Synaptics Circular Pad (285):   0
    Synaptics Palm Detection (286): 0
    Synaptics Palm Dimensions (287):    10, 200
    Synaptics Coasting Speed (288): 20.000000, 50.000000
    Synaptics Pressure Motion (289):        ... of unknown type CARDINAL

    Synaptics Pressure Motion Factor (290): 1.000000, 1.000000
    Synaptics Resolution Detect (291):  1
    Synaptics Grab Event Device (292):  1
    Synaptics Gestures (293):   1
    Synaptics Capabilities (294):   1, 0, 0, 1, 1, 1, 1
    Synaptics Pad Resolution (295): 42, 42
    Synaptics Area (296):   0, 0, 0, 0
    Synaptics Soft Button Areas (297):  3656, 0, 1000, 0, 2600, 3619, 1000, 3000
    Synaptics Noise Cancellation (298): 500, 500
    Device Product ID (250):    2, 7
    Device Node (251):  "/dev/input/event5"

Xinput list-props 11:

Device 'TPPS/2 IBM TrackPoint':
    Device Enabled (133):   1
    Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (256): 0
    Device Accel Constant Deceleration (257):   1.000000
    Device Accel Adaptive Deceleration (258):   1.000000
    Device Accel Velocity Scaling (259):    10.000000
    Device Product ID (250):    2, 10
    Device Node (251):  "/dev/input/event6"
    Evdev Axis Inversion (300): 0, 0
    Evdev Axes Swap (302):  0
    Axis Labels (303):  "Rel X" (143), "Rel Y" (144)
    Button Labels (304):    "Button Left" (136), "Button Middle" (137), "Button Right" (138), "Button Wheel Up" (139), "Button Wheel Down" (140), "Button Horiz Wheel Left" (141), "Button Horiz Wheel Right" (142)
    Evdev Middle Button Emulation (305):    0
    Evdev Middle Button Timeout (306):  50
    Evdev Third Button Emulation (307): 0
    Evdev Third Button Emulation Timeout (308): 1000
    Evdev Third Button Emulation Button (309):  3
    Evdev Third Button Emulation Threshold (310):   20
    Evdev Wheel Emulation (311):    1
    Evdev Wheel Emulation Axes (312):   6, 7, 4, 5
    Evdev Wheel Emulation Inertia (313):    10
    Evdev Wheel Emulation Timeout (314):    200
    Evdev Wheel Emulation Button (315): 2
    Evdev Drag Lock Buttons (316):  0

Busqué en Google y revisé muchos hilos y no pude encontrar una solución adecuada. Pero cuando uso Windows 8.1 en este modelo e instalo el controlador del panel táctil Synaptics, funciona perfectamente. Entonces, otra propuesta es portar ese controlador a Linux.

Cualquier ayuda sería apreciada gracias de antemano!

guoger
fuente
Me temo que su pregunta no está del todo clara. Si bien nos proporcionó mucha información, no sé exactamente cómo desea que funcione el desplazamiento. ¿Podrías tratar de especificar eso más claramente?
Dillmo
1
Este es un error en el controlador evdev xorg bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/…
Braiam

Respuestas:

9

Actualización sobre el progreso: http://who-t.blogspot.de/2014/03/xorg-synaptics-support-for-lenovo-t440.html

[...] esta vez el soporte es real, o al menos está por terminar. [...] Olvidé mencionar: synaptics 1.8 tendrá todos estos [...]

Actualización 2: la publicación anterior se actualizó, diff: http://who-t.blogspot.de/2014/04/t440-touchpads-story-continues.html

Actualización 3: Habilitar el desplazamiento de clic medio en Ubuntu para los clickpads de Lenovo por Björn Tillenius

Actualización 4: Explicación de por qué la nueva generación con botones físicos revividos puede estar tan rota como la generación anterior con botones no físicos


Si te entendí correctamente, entonces esta publicación de Peter Hutterer podría ayudarte. La compatibilidad con los botones de trackpoint T440 parece ser un trabajo en progreso y actualmente es más una solución alternativa.

Ilustra con ASCII-art que no pueden configurar el panel táctil como en Windows:

+----------------------------+
| LLLLLLLLLL MMMMM RRRRRRRRR |
|                            |
|                            |
|                            |
|                            |
|                            |
|                            |
| LLLLLLLL          RRRRRRRR |
+----------------------------+

y tengo que configurar los botones del panel táctil más o menos así:

+----------------------------+
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
| LLLLLLLLLL MMMMM RRRRRRRRR |
+----------------------------+

Declaración y solución actual:

Estoy trabajando en una solución para la configuración adecuada, pero por ahora tendrás que conformarte con esto.

El enfoque más fácil para la configuración local es una nueva sección InputClass en el formulario:

Section "InputClass"
    Identifier "t440 top buttons"
    MatchDriver "synaptics"
    #                         right btn|middle btn
    Option "SoftButtonAreas" "60% 0 0 0 40% 60% 0 0"
EndSection

Déjalo caer /etc/X11/xorg.conf.d/99-t440-synaptics.confy listo.

LiveWireBT
fuente
Más información en thinkwiki thinkwiki.org/wiki/Buttonless_Touchpad
Paweł Prażak
1
14.04 información de backport: bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/…
Paweł Prażak