Trackpoint i Clickpad: włącz przyciski i przewiń (Lenovo T440s) [zamknięte]

10

Właśnie dostałem Lenovo T440s, który jest wyposażony w touchpad synaptics. Domyślnie nie ma środkowego przycisku, a prawy przycisk znajduje się w prawym dolnym rogu touchpada. Jestem przyzwyczajony do kombinacji trackpointer + lewy / środkowy / prawy przycisk i NAPRAWDĘ tęsknię za tym w moim nowym modelu. Generuje hałas za każdym razem, gdy naciskam przycisk, ponieważ przycisk jest również częścią touchpada.

Do tej pory robiłem:

  • zwiększyć histerezę touchpada do bardzo wysokiej wartości, co dosłownie wyłączyło nawigację
  • Włącz tryb Clickpad, który udostępnia funkcje środkowego / prawego przycisku
  • Zdefiniuj środkowy / prawy obszar przycisku zgodnie z oczekiwaniami na touchpadzie

Problem w tym, że środkowy przycisk nie jest przypisany do wskaźnika. Wyglądają na dwa niezależne urządzenia w tym modelu. Zastanawiam się, jak mogę połączyć zdarzenie wywołane przez środkowy przycisk z przyciskiem emulacji koła w trackpointerie.

Oto wynik moich właściwości 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)]

SynPS / 2 Synaptics Touchpad:

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

Przeszukiwałem i sprawdzałem wiele wątków i nie znalazłem właściwego rozwiązania. Ale kiedy używam systemu Windows 8.1 w tym modelu i instaluję sterownik touchpad synaptics, działa on idealnie. Kolejną propozycją jest przeniesienie tego sterownika do systemu Linux.

Każda pomoc będzie mile widziana z góry dzięki!

guoger
źródło
Obawiam się, że twoje pytanie nie jest całkowicie jasne. Chociaż przekazałeś nam wiele informacji, nie wiem dokładnie, jak chcesz, aby przewijanie działało. Czy możesz spróbować sprecyzować to?
Dillmo,
1
To jest błąd w sterowniku evdev
Braiam

Odpowiedzi:

9

Aktualizacja postępu: http://who-t.blogspot.de/2014/03/xorg-synaptics-support-for-lenovo-t440.html

[...] tym razem wsparcie jest realne, a przynajmniej bliskie ukończenia. [...] Zapomniałem wspomnieć: synaptics 1.8 będą miały wszystkie te [...]

Aktualizacja 2: powyższy post został zaktualizowany, diff: http://who-t.blogspot.de/2014/04/t440-touchpads-story-continues.html

Aktualizacja 3: Włączanie przewijania middleclick w Ubuntu dla paneli dotykowych Lenovo autorstwa Björna Tilleniusa

Aktualizacja 4: Wyjaśnienie, dlaczego nowa generacja z przywróconymi fizycznymi przyciskami może być tak samo zepsuta jak poprzednia generacja z niefizycznymi przyciskami


Jeśli dobrze cię zrozumiałem, ten post Petera Hutterera może ci pomóc. Obsługa przycisków trackpointów T440 wydaje się być w toku, a obecnie jest bardziej rodzajem obejścia.

Z pomocą ASCII-art ilustruje, że nie mogą skonfigurować touchpada jak w Windowsie:

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

i muszę skonfigurować przyciski touchpada w następujący sposób:

+----------------------------+
| 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 |
+----------------------------+

Oświadczenie i bieżące obejście:

Pracuję nad rozwiązaniem dla właściwej konfiguracji, ale na razie musisz się z tym zadowolić.

Najłatwiejszym podejściem do konfiguracji lokalnej jest nowa sekcja InputClass w formie:

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

Wrzuć to /etc/X11/xorg.conf.d/99-t440-synaptics.confi możesz iść.

LiveWireBT
źródło
Więcej informacji na temat thinkwiki thinkwiki.org/wiki/Buttonless_Touchpad
Paweł Prażak
1
Informacje o backporcie
Paweł Prażak