Трекпойнт и сенсорная панель: включение кнопок и прокрутка (Lenovo T440s) [закрыто]

10

Я только что получил Lenovo T440s, который оснащен тачпадом Synaptics. По умолчанию средняя кнопка отсутствует, а правая кнопка находится в правом нижнем углу сенсорной панели. Я привык к сочетанию трекпоинт + левая / средняя / правая кнопки, и я действительно скучаю по этому на моей новой модели. Каждый раз, когда я нажимаю кнопку, он генерирует некоторый шум, поскольку кнопка также является частью сенсорной панели.

Что я сделал до сих пор:

  • увеличить гистерезис тачпада до очень высокого значения, что буквально отключило навигацию
  • Включить режим Clickpad, который обеспечивает функции средней / правой кнопки
  • Определите среднюю / правую область кнопок, как и ожидалось на сенсорной панели

Но проблема в том, что средняя кнопка не отображается на трекпоинт. Похоже, это два независимых устройства на этой модели. Мне интересно, как я могу связать событие, вызванное средней кнопкой, с кнопкой эмуляции колеса трекпоинт.

Вот вывод моих свойств xinput: Список 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 список реквизитов 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

Я погуглил, проверил множество тем и не смог найти правильного решения. Но когда я использую Windows 8.1 на этой модели и устанавливаю драйвер тачпада Synaptics, он работает отлично. Поэтому другое предложение - перенести этот драйвер на Linux.

Любая помощь будет оценена спасибо заранее!

guoger
источник
Боюсь, ваш вопрос не совсем понятен. Хотя вы дали нам много информации, я не знаю точно, как вы хотите, чтобы прокрутка работала. Не могли бы вы попытаться указать это более четко?
Диллмо
1
Это ошибка в драйвере evdev xorg bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/…
Брайам

Ответы:

9

Обновленная информация о прогрессе: http://who-t.blogspot.de/2014/03/xorg-synaptics-support-for-lenovo-t440.html

[...] на этот раз поддержка реальна или, по крайней мере, близка к завершению. [...] Я забыл упомянуть: синаптики 1.8 будут иметь все эти [...]

Обновление 2: Пост выше обновился, diff: http://who-t.blogspot.de/2014/04/t440-touchpads-story-continues.html

Обновление 3: включение прокрутки по среднему клику в Ubuntu для сенсорных панелей Lenovo от Björn Tillenius

Обновление 4: Объяснение, почему новое поколение с ожившими физическими кнопками может быть сломано так же, как и предыдущее поколение с нефизическими кнопками


Если я вас правильно понял, то этот пост Питера Хаттерера может вам помочь. Поддержка кнопок трекпоинт T440, похоже, находится в стадии разработки и в настоящее время является своего рода обходным решением.

Он демонстрирует с помощью ASCII-art, что они не могут настроить тачпад, как в Windows:

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

и нужно настроить кнопки тачпада так:

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

Заявление и текущий обходной путь:

Я работаю над решением для правильной конфигурации, но сейчас вам придется довольствоваться этим.

Самый простой подход для локальной конфигурации - это новый раздел InputClass в форме:

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

Оставьте это, /etc/X11/xorg.conf.d/99-t440-synaptics.confи вы готовы идти.

LiveWireBT
источник
Дополнительная информация на сайте thinkwiki thinkwiki.org/wiki/Buttonless_Touchpad
Павел Пранжак,
1
14.04 информация о бэкпорте
Павел Праняк