
У меня раздражающая проблема с моим тачпадом Elantech уже как минимум полгода. Большую часть времени он случайно теряет синхронизацию и распознается какСенсорная панель PS/2 ElantechилиСенсорная панель BYD. Это меняется от обновления к обновлению, но по сути эти ошибки сохраняются в dmesg
:
psmouse serio1: Failed to enable mouse on isa0060/serio1
psmouse serio1: elantech: synaptics_send_cmd query 0x01 failed.
psmouse serio1: Failed to enable mouse on isa0060/serio1
input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input19
В случаях, когда тачпад определяется правильно, он все равно работает очень плохо, не справляется с мультитачем, нажатием, прокруткой двумя пальцами и имеет некоторые проблемы с калибровкой (отвечает только центр тачпада, в то время как другие зоны игнорируют любой ввод). dmesg
Для этого сценария это выглядит так:
psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x595f03)
psmouse serio1: elantech: Synaptics capabilities query result 0x10, 0x15, 0x0e.
psmouse serio1: elantech: Elan sample query result 04, 02, 86
input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input2
Во время работы системы она начинает случайным образом реагировать на мои действия, нажимая и двигаясь в случайном направлении.
Сейчас я использую Arch Linux, но проблема также присутствовала в Ubuntu 16.04 и 14.04.
ОтВики-страница Arch Linuxдля Lenovo Y700 есть примечание, что для того, чтобы сенсорная панель работала, pata_legacy
модуль должен быть полностью занесен в черный список, поэтому я добавил это в конфигурацию загрузчика ядра:
options: ... modprobe.blacklist=pata_legacy ...
lsmod
не показывает pata_legacy
загруженный, поэтому черный список работает. Но это не помогает, так как проблема с тачпадом сохраняется.
Я использую libinput
и не менял конфигурацию уже некоторое время (и она работает безупречно в то время, когда тачпад работает нормально):
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "True"
Option "DisableWhileTyping" "True"
Option "NaturalScrolling" "True"
Option "MiddleEmulation" "True"
EndSection
Я полагаю, что проблема как-то связана с ядром, но я не разбираюсь в низкоуровневых вещах, поэтому не могу заставить это работать самостоятельно.
Любая помощь, ссылки на документацию, советы по отладке и т. д. приветствуются, поскольку я не против исправить это самостоятельно, но понятия не имею, с чего начать (и где искать).
$ uname -r
4.10.13-1-ARCH
решение1
У меня точно такая же раздражающая проблема. Поскольку я не нашел никакого решения, я использую этот простой скрипт bash в качестве обходного пути
#!/usr/bin/bash
while [[ $(dmesg | tail -n 3 | grep ETPS) == "" ]]
do
sudo modprobe --remove psmouse
sudo modprobe psmouse
sleep 3
done
notify-send "Touchback" "Your touchpad is back ready to use"
exit
И, конечно, хорошей идеей будет настроить ваш компьютер sudoers
так, чтобы он не запрашивал пароль для обеих команд.