
Недавно я загрузил Ubuntu на свой ноутбук Dell Inspiron 7559 и заметил, что срабатывает отклонение ладоней. Программное обеспечение работает частично; курсор не двигается, когда я пытаюсь использовать трекпад ладонью, поэтому оно четко распознает мою ладонь, но когда я кладу ладонь на трекпад, не обязательно нажимая, а просто помещая ее туда, автоматически происходит щелчок. Это приводит к исчезновению окон, поэтому мне приходится их искать, чтобы вернуть.
Это очень странная проблема, которую я не смог найти ни у кого другого. У меня двойная загрузка Windows и Ubuntu, и у меня нет этой проблемы при загрузке Windows 10. Так есть ли настройка, которую я могу изменить, или драйвер, который я могу обновить? Любая помощь будет оценена.
Редактировать:
Я проверил свои устройства с помощью списка xinput и заметил, что у меня, по-видимому, есть 2 устройства ввода сенсорной панели:
↳ ELAN1010:00 04F3:3012 Сенсорная панель id=12 [ведомый указатель (2)]
↳ ETPS/2 Elantech Touchpad id=14 [ведомый указатель (2)]
Так ОС слушает не тот драйвер? И если да, то как заставить ее использовать правильный?
решение1
Сначала вам нужно найти драйвер сенсорной панели. Вы можете сделать это, набрав в терминале:
xinput
Там вы получите список драйверов. В списке Virtual core pointer найдите ключевое слово TouchPad. Эта переменная будет {id}, например, у меня это "SynPS/2 Synaptics TouchPad".
Далее перейдите в «Параметры запускаемых приложений», выберите «Добавить», в качестве имени можете указать любое значение, я использовал «Обнаружение ладони», а в качестве cmd введите:
xinput set-prop "{id}" "Synaptics Palm Detection" 1
Также добавьте еще один, чтобы задать размеры. Назовите его «Palm Dimensions» (вы можете заменить значение по своему усмотрению, вы можете поиграть со значением, чтобы получить наилучший опыт):
xinput set-prop "{id}" "Synaptics Palm Dimensions" 3, 3
Теперь вы можете перезагрузить свой ноутбук и удачи :)
PS Я думаю, что правильный идентификатор сенсорной панели — тот, который начинается с ETPS/2. Если нет, то можете попробовать оба варианта, и, надеюсь, это сработает.
решение2
Для моего XPS 13 2017 с Ubuntu 16.04 решение заключается в установке dconf-editor
и переходе по адресу
org > gnome > desktop > peripherals > touchpad
и установите click-method
значение fingers
или, если ключ disable-while-typing
доступен, просто установите его на true
.
Другое решение — добавить новые сочетания клавиш, перейдя по ссылке Keyboard > Shortcuts > Custom Shortcuts
. Мои сочетания клавиш
Ctrl + Shift + M -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
Ctrl + Shift + N -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false
Поэтому, когда вы захотите включить функцию нажатия для щелчка, просто нажмите Ctrl+ Shift+ Mи Ctrl+ Shift+ N, чтобы отключить ее.
решение3
Для меня все вышеперечисленные решения не сработали. Так что если кто-то находится в похожей ситуации, это может помочь уменьшить область активации сенсорной панели по краям. Это не создало никаких негативных побочных эффектов, поскольку вы редко начинаете с нажатия по краям, и когда сенсорная панель касается, вы все равно можете использовать область по краям. Это можно сделать так:
Сначала используйте это ( xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges
), чтобы получить размеры края сенсорной панели. Он возвращает 4 значения (слева, справа, сверху, снизу), напримерSynaptics Edges (274): 100, 2408, 71, 1249
Во-вторых, эти значения можно использовать следующим образом:
synclient AreaTopEdge=71
synclient AreaLeftEdge=100
synclient AreaRightEdge=2408
решение4
Если у вас современный ноутбук Dell, эти инструкции могут вам помочь. Они напрямую от Dell,Precision / XPS: Исправление общей проблемы с тачпадом/мышью в Ubuntu
Первая часть сотворила для меня чудеса. Вот сценарий, который они предлагают добавить в sudo gedit /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf
. Я не рекомендую следовать решениям принятого ответа, поскольку этот путь, похоже, создает другие проблемы.
# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
MatchProduct "SynPS/2 Synaptics TouchPad"
MatchIsTouchpad "on"
MatchOS "Linux"
MatchDevicePath "/dev/input/event*"
Option "Ignore" "on"
EndSection
Для сравнения совместимости у меня есть Dell Inspiron 13 серии 7000 сxinput list
jonathan@Dell:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=11 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=13 [slave pointer (2)]
⎜ ↳ DELL0741:00 06CB:7E7E Touchpad id=14 [slave pointer (2)]
...
Synaptics отсутствует в этом списке, поскольку он был отключен вышеуказанным скриптом. Перед добавлением этого скрипта я предлагаю запустить xinput --test <id>"
(для меня 14
). Если вы получаете вывод на терминале, это означает, что ваше устройство работает (ваше устройство «включено»).