Как улучшить точность трекпада на Ubuntu?

Вопрос или проблема

Я использую Ubuntu 20.04 (ядро 5.4.0-99-lowlatency, но проблема та же и на обычном ядре) на Thinkpad X260. Трекпад – “Synaptics TM3075-002”.

В основном, при небольших, точных движениях трекпад дрожит и иногда не регистрирует движение.

Я попробовал как libinput 1.19.901, так и последнюю версию пакета xserver-xorg-input-synaptics.

Движение курсора при медленном перемещении пальца по трекпаду с libinput:
Трекпад с libinput

Движение курсора при медленном перемещении пальца по трекпаду с synaptics:
Трекпад с synaptics

С synaptics немного лучше, но все равно скачет.

Это свойства с libinput:

Устройство 'Synaptics TM3075-002':
        Устройство включено (168):   1
        Матрица преобразования координат (170): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Таппинг Включен (304): 1
        libinput Таппинг Включен по умолчанию (305): 0
        libinput Таппинг Перетаскивание Включено (306):    1
        libinput Таппинг Перетаскивание Включено по умолчанию (307):    1
        libinput Таппинг Блокировка Перетаскивания Включена (308):       0
        libinput Таппинг Блокировка Перетаскивания Включена по умолчанию (309):       0
        libinput Таппинг Настройка Кнопок Включена (310):  1, 0
        libinput Таппинг Настройка Кнопок По Умолчанию (311):  1, 0
        libinput Естественная Прокрутка Включена (312):       0
        libinput Естественная Прокрутка Включена По Умолчанию (313):       0
        libinput Отключить во Время Печати Включено (314):    0
        libinput Отключить во Время Печати Включено По Умолчанию (315):    1
        libinput Методы Прокрутки Доступны (316):        1, 1, 0
        libinput Метод Прокрутки Включен (317):   1, 0, 0
        libinput Метод Прокрутки Включен По Умолчанию (318):   1, 0, 0
        libinput Методы Кликания Доступны (319): 1, 1
        libinput Метод Кликания Включен (320):    0, 1
        libinput Метод Кликания Включен По Умолчанию (321):    1, 0
        libinput Эмуляция Средней Кнопки Включена (322):        0
        libinput Эмуляция Средней Кнопки Включена По Умолчанию (323):        0
        libinput Скорость Ускорения (324):     0.500000
        libinput Скорость Ускорения По Умолчанию (325):     0.000000
        libinput Левша Включен (326):     0
        libinput Левша Включен По Умолчанию (327):     0
        libinput Режимы Отправки Событий Доступны (289):     1, 1
        libinput Режим Отправки Событий Включен (290):        0, 0
        libinput Режим Отправки Событий Включен По Умолчанию (291):        0, 0
        Узел Устройства (292):      "/dev/input/event15"
        Идентификатор Продукта Устройства (293):        1739, 0
        libinput Кнопки Блокировки Перетаскивания (328):       <нет элементов>
        libinput Горизонтальная Прокрутка Включена (329):       1

и с synaptics:

Устройство 'Synaptics TM3075-002':
        Устройство включено (168):   1
        Матрица преобразования координат (170): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Профиль Ускорения Устройства (301):     1
        Постоянное Замедление Ускорения Устройства (302):       2.500000
        Адаптивное Замедление Ускорения Устройства (303):       1.000000
        Масштабирование Скорости Ускорения Устройства (304):    12.500000
        Края Synaptics (305):  67, 1613, 54, 948
        Пальцы Synaptics (306): 25, 30, 0
        Время Тапа Synaptics (307):       180
        Движение Тапа Synaptics (308):       86
        Продолжительности Тапа Synaptics (309):  180, 180, 100
        ClickPad Synaptics (310):       1
        Таймаут Средней Кнопки Synaptics (311):  0
        Давление Двух Пальцев Synaptics (312):    282
        Ширина Двух Пальцев Synaptics (313):       7
        Дистанция Прокрутки Synaptics (314):     39, 39
        Краевая Прокрутка Synaptics (315): 1, 0, 0
        Двухпальцевая Прокрутка Synaptics (316):   1, 0
        Скорость Движения Synaptics (317):     1.000000, 1.750000, 0.102249, 0.000000
        Выключено Synaptics (318):    0
        Заблокированные Перетаскивания Synaptics (319):   0
        Таймаут Заблокированных Перетаскиваний Synaptics (320):   5000
        Действие Тапа Synaptics (321):     2, 3, 0, 0, 1, 3, 0
        Действие Кликания Synaptics (322):   1, 3, 0
        Циклическая Прокрутка Synaptics (323):     0
        Дистанция Циклической Прокрутки Synaptics (324):    0.100000
        Триггер Циклической Прокрутки Synaptics (325):     0
        Циклический Пэд Synaptics (326):   0
        Обнаружение Ладони Synaptics (327): 0
        Размеры Ладони Synaptics (328):        10, 200
        Скорость Прокрутки Synaptics (329): 20.000000, 50.000000
        Давление Движения Synaptics (330):        30, 160
        Фактор Давления Движения Synaptics (331): 1.000000, 1.000000
        Обнаружение Разрешения Synaptics (332):      1
        Захват События Устройства Synaptics (333):      0
        Жесты Synaptics (334):       1
        Возможности Synaptics (335):   1, 0, 0, 1, 1, 1, 0
        Разрешение Пэд Synaptics (336): 20, 20
        Площадь Synaptics (337):   0, 0, 0, 0
        Мягкие Кнопки Пэдов Synaptics (338):      840, 0, 821, 0, 0, 0, 0, 0
        Шумоподавление Synaptics (339):     0, 0
        Идентификатор Продукта Устройства (293):        1739, 0
        Узел Устройства (292):      "/dev/input/event15"

Я не уверен, что еще могу сделать. Остальные свойства, похоже, не влияют на это (я отключил шумоподавление для synaptics, но не знаю, насколько это помогло). Есть ли другой драйвер, который я должен попробовать?

После долгих поисков и экспериментов я в конечном итоге нашел неплохое решение в ответе на предыдущий вопрос.

В основном, я изменил следующие параметры:

DEVICE=11
xinput --set-prop "$DEVICE" "Synaptics Noise Cancellation" 0 0
xinput --set-prop "$DEVICE" "Device Accel Profile" 6
xinput --set-prop "$DEVICE" "Device Accel Velocity Scaling" 50
xinput --set-prop "$DEVICE" "Device Accel Constant Deceleration" 12

Ключевым моментом является изменение Device Accel Profile на 6, который, согласно ссылке, является профилем линейного ускорения. К этому нужно привыкнуть, но небольшие движения теперь гораздо менее скачут:

Более плавные движения трекпада

libinput также имеет “плоский” профиль ускорения, который может быть эквивалентен линейному профилю synaptics, но у меня еще не было возможности его попробовать.

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

У меня следующая конфигурация:

  • Thinkpad T14 Gen 4 (AMD Ryzen 7 pro)
  • Pop OS 22.04 (также Ubuntu с GNOME)
  • Трекпад/тачпад ELAN

Вот детали xinput:

$ xinput
⎡ Виртуальный основной указатель                      id=2    [основной указатель  (3)]
⎜   ↳ Виртуальный основной указатель XTEST                id=4    [сл slave указатель  (2)]
⎜   ↳ ELAN0676:00 04F3:3195 Мышь               id=9    [сл slave указатель  (2)]
⎜   ↳ ELAN0676:00 04F3:3195 Тачпад            id=10   [сл slave указатель  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                    id=12   [сл slave указатель  (2)]

Критическая проблема для меня заключалась в том, что я использовал зарядное устройство Anker USB-C (в частности, PowerPort III 65W с кабелем 1.8 м).

Если я использую кабель, возникает проблема, если я вынимаю кабель и перезагружаю ноутбук, проблема уходит.

Вот источник моего ответа с reddit:

Привет! Я только что понял, что вызывает мою странную проблему с тачпадом! Каждый раз, когда я подключаю свое зарядное устройство Anker на 100 Вт USB-C (с 10-футовым USB-C кабелем), моя мышь начинает вести себя странно. Отключение кабеля мгновенно решает проблему. Я еще не проверял, связано ли это с длинным USB-C кабелем или с самим зарядным устройством… но это объясняет, почему у моего Microsoft Surface Laptop Studio также были проблемы!

https://www.reddit.com/r/thinkpad/comments/xqjowj/comment/j4qw3dk/

Я не знаю, связано ли это с тем, что это Anker, с тем, что это 65W или с тем, что это просто не официальное зарядное устройство. У меня все еще есть официальное зарядное устройство, поэтому я попытаюсь использовать его позже.

Ответ или решение

Чтобы улучшить точность работы трекпада на Ubuntu, особенно на Lenovo Thinkpad X260 с устройством "Synaptics TM3075-002", выполните следующие шаги:

Проверка настроек и драйверов

  1. Убедитесь, что у вас установлены последние версии драйверов. Вы можете использовать как libinput, так и xserver-xorg-input-synaptics. Ваша проблема может зависеть от того, какой драйвер вы используете:

    • Чтобы установить libinput, выполните команду:

      sudo apt install xserver-xorg-input-libinput
    • Для установки xserver-xorg-input-synaptics:

      sudo apt install xserver-xorg-input-synaptics
  2. Проверьте и настройте параметры вашего трекпада с помощью xinput. Для этого введите следующую команду, чтобы узнать ID вашего устройства:

    xinput list
  3. Настройка параметров:
    Выполните следующие команды (замените DEVICE_ID на фактический ID, который вы получили с помощью предыдущей команды):

    xinput --set-prop $DEVICE_ID "Synaptics Noise Cancellation" 0 0
    xinput --set-prop $DEVICE_ID "Device Accel Profile" 6
    xinput --set-prop $DEVICE_ID "Device Accel Velocity Scaling" 50
    xinput --set-prop $DEVICE_ID "Device Accel Constant Deceleration" 12

    Настройка Device Accel Profile на 6 значительно улучшает плавность движений. Это профиль линейного ускорения, который позволяет более точно контролировать малые движения курсора.

Дополнительные настройки

Если вышеуказанные шаги не приносят ожидаемого результата, рассмотрите следующие варианты:

  • Отключите функцию «Отключение при наборе текста», если она активирована:

    xinput --set-prop $DEVICE_ID "libinput Disable While Typing Enabled" 0
  • Активация временного отклика для улучшения точности:

    xinput --set-prop $DEVICE_ID "libinput Accel Speed" 0.5

Проверка оборудования

Важно помнить, что иногда проблема может быть связана с оборудованием. В одном из обсуждений на форумах упоминалось, что использование некоторых зарядных устройств (например, ненадлежащих) может вызывать проблемы с работой трекпада. Если вы используете зарядное устройство стороннего производителя, попробуйте отключить его и проверить, исчезнет ли проблема.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...