Вопрос или проблема
Я использую Ubuntu 20.04 (ядро 5.4.0-99-lowlatency
, но проблема та же и на обычном ядре) на Thinkpad X260. Трекпад – “Synaptics TM3075-002”.
В основном, при небольших, точных движениях трекпад дрожит и иногда не регистрирует движение.
Я попробовал как libinput 1.19.901
, так и последнюю версию пакета xserver-xorg-input-synaptics
.
Движение курсора при медленном перемещении пальца по трекпаду с libinput
:
Движение курсора при медленном перемещении пальца по трекпаду с 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", выполните следующие шаги:
Проверка настроек и драйверов
-
Убедитесь, что у вас установлены последние версии драйверов. Вы можете использовать как
libinput
, так иxserver-xorg-input-synaptics
. Ваша проблема может зависеть от того, какой драйвер вы используете:-
Чтобы установить
libinput
, выполните команду:sudo apt install xserver-xorg-input-libinput
-
Для установки
xserver-xorg-input-synaptics
:sudo apt install xserver-xorg-input-synaptics
-
-
Проверьте и настройте параметры вашего трекпада с помощью
xinput
. Для этого введите следующую команду, чтобы узнать ID вашего устройства:xinput list
-
Настройка параметров:
Выполните следующие команды (замените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
Проверка оборудования
Важно помнить, что иногда проблема может быть связана с оборудованием. В одном из обсуждений на форумах упоминалось, что использование некоторых зарядных устройств (например, ненадлежащих) может вызывать проблемы с работой трекпада. Если вы используете зарядное устройство стороннего производителя, попробуйте отключить его и проверить, исчезнет ли проблема.
Заключение
Попробуйте эти методы поочередно, и вы должны заметить улучшение в точности работы трекпада. Если после всех этих шагов проблема остается нерешенной, возможно, стоит рассмотреть возможность обращения в службу технической поддержки или поиск обновленных драйверов для вашего устройства.