Ищите способ улучшить распознавание ладони синаптической / сенсорной панели


17

Я обнаружил, что обнаружение ладони моего тачпада довольно ужасно. Я установил его на минимальную чувствительность, которая не мешает использованию сенсорной панели (PalmMinWidth = 5, PalmMinZ = 1), и я все равно получаю случайные удары, когда набираю текст на клавиатуре.

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

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

Наконец, я запускаю Debian для тестирования 64-битной версии ядра Linux 3.2.0-rc7.


Этот вопрос является дубликатом вопроса, на который я ответил на SuperUser в 2011 году. У меня нет репутации на Unix & Linux Stack Exchange, чтобы помечать его как обман. superuser.com/questions/277427/…
подавленное

Ответы:


17

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

Настройка обнаружения ладони:

Включите обнаружение ладони, в терминале типа:

$ synclient PalmDetect=1

Установите максимальную ширину, которая должна интерпретироваться как палец вместо ладони. Я выбираю 4, большинство инструкций используют 10, хорошо бы немного догадаться и проверить здесь:

$ synclient PalmMinWidth=4

Затем установите минимальную высоту ладони против пальца:

$ synclient PalmMinZ=50 

Наконец, в Ubuntu по умолчанию не включен средний щелчок тремя пальцами, поэтому, если вы хотите включить его, используйте:

$ synclient TapButton2=3 TapButton3=2

Теоретически это должно включать касание двумя пальцами для среднего щелчка и касание тремя пальцами для правого щелчка, но в Ubuntu 13.04 результирующее поведение совершенно противоположное. Поэтому, если вы предпочитаете нажатие двумя пальцами для среднего щелчка:

$ synclient TapButton2=2 TapButton3=3 

Чтобы сделать это постоянным после того, как вы нашли правильные настройки, сохраните их, в 50-synaptics.confкоторых они находятся /usr/share/X11/xorg.conf.d/50-synaptics.confв Debian / Ubuntu (Semplice) и /etc/X11/xorg.conf.d/50-synaptics.confв дистрибутивах на основе Arch Linux (первая часть «InputClass» предназначена для исправления среднего нажатия несколькими касаниями) , который уже включен в Arch, поэтому вам не нужно добавлять его):

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "TapButton1" "1"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
    Option "HorizTwoFingerScroll" "on"
    Option "VertTwoFingerScroll" "on"
EndSection


#synclient PalmDetect=1
Option "PalmDetect" "1"
#synclient PalmMinWidth=4
Option "PalmMinWidth" "4"
#synclient PalmMinZ=50
Option "PalmMinZ" "50"

Временное отключение сенсорной панели при наборе:

Вместо использования команд synclient используйте syndaemon:

$ syndaemon -K -i 0.5 -R -d 

В арочных вики утверждает , что если сохранить эту команду в ~/.xinitrcфайл , чтобы он автоматически выполняется в вашем следующем входе в. Однако, когда я сделал это, я не знал, что команда должна произойти до запуска рабочего стола ( exec DESKTOP.sessionкоманда). После игры с кучей других файлов конфигурации и изучения тонны о диспетчере отображения SLiM, я наконец понял, что команду нужно просто переместить дальше в файл, так как команды после запуска рабочего стола не будут выполняться до рабочего стола выход


5

Я нашел способ изменить промежуток времени, в течение которого сенсорная панель отключается при наборе текста. Для всех, кто ищет это здесь:

Примечание: поиск в Google дает ответ достаточно быстро

Просто запустите программу syndaemon -dи добавьте в качестве опции, -i wait_timeгде wait_time - это время ожидания до повторного включения сенсорной панели. Другие полезные параметры для включения -Kв syndaemon: никогда не отключать сенсорную панель, когда нажаты клавиши с модификатором формата + клавиша, и -tотключать только щелчки, а не движения мыши.

Итак, в моем случае я добавил следующее в скрипт, который запускаю при входе в систему:

#Get rid of previous syndaemon
killall syndaemon
#More aggressive behavior, allow for mod+key combos, enable mouse movements
syndaemon -i 0.2 -K -t -d

Со всеми этими модификациями, особенно с -tфлагом, я могу жить с тачпадом, как сейчас!


Я нахожу, что мне нужно по крайней мере -t (-t отключить только нажатие и прокрутку, а не движения мыши в ответ на действия клавиатуры), иначе я сошел с ума. Я на Fedora 16. Как вы делаете ваши изменения постоянными?
Филипп Дурбин

@PhilipDurbin Я поместил их в скрипт, который вызывается при загрузке (с использованием gnome-session-properties), но мне нужно сделать это для каждого пользователя. Более традиционный способ - поместить их в файл xorg.conf, но я не смог найти способ установить в нем syndaemonпараметры, только synclientпараметры.
Levesque

3

У меня современный ноутбук с большой сенсорной панелью, и половина времени моя правая ладонь сидела на краю и делала ложные щелчки при наборе текста. Синхронный метод PalmDetect = 1 не работал для меня (независимо от того, что я установил для PalmMinWidth и PalmMinZ). Возможно, это был тот факт, что моя ладонь касалась панели справа, и обнаружение ладони могло проверять ее сверху. Я не знаю точно.

Я решил проблему, сделав мертвую зону на правом краю. Вот как вы это делаете:

synclient 

даст вам текущие настройки сенсорной панели. интерес представляют эти результаты здесь:

LeftEdge                = 1572
RightEdge               = 5370
TopEdge                 = 1376
BottomEdge              = 4480

Очевидно, что цифры будут варьироваться в зависимости от оборудования. Ищите край, который вы хотите. В моем случае это был правильный край. Я выбрал количество, которое хотел побрить. Вы хотите сбрить наименьшее число, с которым вы можете сойти, при этом блокируя ложные щелчки с вашей ладони. Очень простым тестом было бы найти интерактивное изображение в Интернете, навести указатель мыши на его центр и положить ладонь туда, где вы обычно печатаете. Для имитации набора текста слегка коснитесь края сенсорной панели той частью ладони, которая обычно выступает над ней при вводе текста. Если вы получите клики, вы сразу узнаете. Это будет метод проб и ошибок, продолжайте играть с ним, пока не достигнете сладкого места. В моем случае, 30 бритья сделали свое дело:

synclient AreaRightEdge=5340

Чтобы изменить другие ребра, измените AreaBottomEdge, AreaLeftEdge или AreaTopEdge. Установка этих значений в 0 отключит их.


В справочной странице упоминается, что функция распознавания ладони нуждается в аппаратной поддержке. Я нашел дискуссии, где люди обсуждали сенсорные панели, которые теоретически имеют аппаратную поддержку, но на практике просто не работали. Поэтому я попытался, PalmDetect=1но не смог заставить его работать. Я установил параметры таким образом, чтобы все входы были обработаны как случайные удары ладонями, но все входы все равно прошли. Так что мой тачпад не поддерживает его или глючит. В конце концов, я использовал Area...Edgeпараметры, чтобы сбрить область с сенсорной панели. И это сработало.
Луи
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.