Как исправить отклонение ладоней в Ubuntu 16.04 LTS?

Как исправить отклонение ладоней в Ubuntu 16.04 LTS?

Недавно я загрузил 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). Если вы получаете вывод на терминале, это означает, что ваше устройство работает (ваше устройство «включено»).

Связанный контент