Отключить сенсорную панель во время набора текста не работает


Ответы:


49

Эта команда сработала для меня (1 - это количество секунд ожидания после последнего нажатия клавиши перед повторным включением сенсорной панели, измените ее на любое значение по вашему желанию):

syndaemon -i 1 -K -d

Просто добавьте его в Startup Applications, чтобы он работал после перезагрузки / выключения. Чтобы увидеть больше опций, введите эту команду в терминале:

syndaemon --help or man syndaemon

4
Работает для меня (Ubuntu 13.10), но также отключает возможность прокрутки двумя пальцами в моем Asus K55N, который я часто использую.
nicooga

5
У меня работает (Ubuntu 14.04, Lenovo T410), а прокрутка двумя пальцами по-прежнему работает. Если добавить их к запуска приложений , хотя, вы должны также иметь «Отключить при вводе» флажок в настройках мыши и сенсорной панели, в противном случае эти два механизма взаимодействуют друг с другом и тачпад перестает работать полностью. Вы можете проголосовать за отчет об ошибке здесь: bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/…
simonp

Работал как шарм (Ubuntu 14.04 LTS). Я проверил это, и курсор не двигался на 70% от 1 см, когда я печатал (если вообще)
dlundy1

У меня работает на Linux Mint 17.2
Jozef

Simonp может найти ошибку Ubuntu # 1215463 здесь уместной.
JdeBP

24

Как и другие, утилита syndaemon решила мою проблему. Для меня Syndaemon уже работает.

После игры с ним и прочтения некоторых других ответов здесь я определил, что причина - -tвыбор.

У опции должна быть ошибка, потому что когда она указана, я все еще могу прокручивать и нажимать при наборе. Однако, если вы опустите опцию полностью, тогда все будет работать нормально; вся сенсорная панель отключена, как и ожидалось, при наборе текста, если вы не включили эту -tопцию. Я просто запускаю следующее, чтобы перезапустить Syndaemon без -t.

$ killall syndaemon
$ syndaemon -i 1 -KRd

  • -iпозволяет указать, как долго syndaemon должен ждать после того, как ввод прекратится, до повторного включения сенсорной панели. Одна секунда - это то, что уже запущено, и мне кажется, что это нормально.
  • -K говорит syndaemon игнорировать клавиши-модификаторы и комбинации клавиш-модификаторов + при мониторинге ввода с клавиатуры.
  • -Rговорит syndaemon использовать расширение "XRecord" вместо опроса для ввода с клавиатуры. Я полагаю, он использует это по соображениям производительности; расширение, вероятно, сообщает, когда ввод текста прекращается, вместо того, чтобы зависеть от syndaemon, чтобы постоянно опрашивать клавиатуру, чтобы увидеть, есть ли ввод.
  • -dпросто говорит, что syndaemon запускается в фоновом режиме, когда вы запускаете его, не блокируя вход терминала. Если вы не включите эту опцию, то syndaemon остановится, когда вы закроете свой терминал.

Таким образом, в конце концов, это -tвариант, который является виновником здесь. Просто запустите Syndaemon без него, и все будет хорошо.

PS - Моя машина оригинальная Lenovo Yoga 13 на случай, если кому-то интересно. Я полностью отказался от установки Windows и заменил ее на Ubuntu 14.04.


1
Спасибо! Я на Lenovo T450s под 16.04 с (все еще!) Той же проблемой. Я думаю, что это решает это, наконец. Уф! Но вы подали отчет об ошибке? В случае , если нет, то здесь один: bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/...
CPBL

Я не создал билет. Спасибо за это :)
Chev

На самом деле, на T450 и 16.04 это работает сразу, но через некоторое время, иногда связанное со сном, я полностью теряю курсор и вынужден перезагружаться. Так что это все еще не осуществимое решение.
CPBL

Благодарю. Ваш комментарий заставил меня понять, почему эта команда не имела никакого эффекта. Было 5 случаев syndaemonбега на заднем плане.
ЕСС

В моем случае мне не нужно было убивать syndaemon, он не работал. Lenovo Yoga 13 с Ubuntu 18.04. Кроме того, использование -i 0.5 делает Syndaemon немного менее инвазивным. Отличная находка!
MAAW

19

Попробуйте установить указывающие устройства из Ubuntu Software Center. Введите «указывающие устройства» и нажмите «Установить». После установки откройте программу из тире. После открытия программы должен появиться тачпад (вместе с другими подключенными мышами). Нажмите на свой тачпад, и появившаяся опция palm detectionдолжна появиться. Установите rangeвсе пути к lowи pressureк high. Тогда закрой его. Если это не решит проблему, ответьте.


1
Это не работает для меня на моем Asus ZenBook Prime UX32A. Похоже, что программа «Указывающие устройства» не поддерживает настройку «Отключить, когда подключены другие устройства», и обнаружение устройства не работает.
noisygecko

Эгад, это очень помогает. Я был в бешенстве из-за того, насколько кровавое движение указателя мешало моей работе. Я так устал писать сценарий оболочки каждый раз, когда я устанавливаю Ubuntu, и вручную настраиваю число, пока они не будут правы. Спасибо за этот лакомый кусочек.
Мистер Б

Обнаружение ладони, похоже, не сработало. Я могу перемещать тачпад одним пальцем, пока я набираю этот комментарий. [Протестировано Ubuntu 14.04, ноутбук Lenovo y510p] Это может быть связано: я замечаю, что ползунки для высоких / низких частот не сохраняют мои настройки после нажатия «ОК» и повторного открытия. (Свежая установка 14.04)
Джонатан

Я также могу перемещать указатель во время набора текста, но после установки нажатие на сенсорную панель во время набора текста не перемещает текстовый курсор в положение указателя, так что теперь я счастлив! (Ubuntu Gnome 14.04 + Gnome 3.12, Lenovo Carbon X1 Gen2).
Расмус

как @Rasmus, но с Ubuntu 14.04 на Dell Inspiron 17R.
tigerjack89

6

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

syndaemon -i 1 -K -d

ты имеешь в виду -d?
Фэн

Вы действительно хотите -d. -KВариант не принимает значение, это говорит syndaemon игнорировать клавиши - модификаторы и модификаторов + комбинации клавиш, контролируя ввод с клавиатуры. -dприказывает syndaemon запускаться в фоновом режиме, а не загружать ваш терминал.
Chev

чертова магия, вот эта (без -К)
Златев

сенсорная панель отключена :(
Амир

1
Я на Dell XPS 9550, и это ничего не сделало AFAICT
Александр Миллс

1

У меня была та же проблема - хотя опция была отмечена, она не работала. Я исправил это, установив Synaptics Touchpad из программного центра Ubuntu (кажется, что он не установлен по умолчанию).

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


Я не вижу "Synaptics Touchpad". Я вижу водителей, но я не вижу этого. Вы добавили пользовательские источники? [Проверено Ubuntu 14.04]
Джонатан

Ответ, который я дал, работал в Kubuntu 13.04. Я недавно обновился до 14.04, и теперь я также не вижу синаптики (только драйверы, как вы упомянули).
dwcoder

Я просто открываю «Указывающие устройства» вручную и отключаю сенсорную панель вручную каждый раз, когда подключаю мышь = / [14.04]
Джонатан

1

Опция « Отключить при наборе текста » в « Системных настройках» -> «Мышь и сенсорная панель» не работает из-за ошибки в Ubuntu, как описано в этом подтвержденном отчете об ошибке . Это старая ошибка, начиная с 12.04 и затрагивающая всех пользователей, независимо от того, какие ноутбуки они используют .

Что работает, так это добавление фрагмента

syndaemon -i 4 -K -d

в приложениях автозагрузки.

«-i 4» хорошо работает для меня, «-i 1», как предполагают некоторые источники, может быть недостаточно.

Пожалуйста, не используйте параметр «-t», который вы можете найти в некоторых примерах в Интернете. Это является причиной проблем, поскольку она не отключает сенсорную панель при наборе текста на клавиатуре.

Во время запуска Syndaemon не работает, поэтому нет необходимости в "killall Syndaemon". Однако, если syndaemon был запущен, вы должны использовать:

killall syndaemon
syndaemon -i 4 -K -d

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


у меня не работает
vipin8169 30.01.16

1
  1. Снимите флажок «Отключить при наборе текста» в настройках сенсорной панели, как показано ниже (да, это необходимо, даже если это кажется нелогичным, иначе сенсорная панель будет отключена после выполнения следующих «постоянных» шагов, а затем перезапускается, так как предыдущий / плохой syndaemon будет запущен при загрузке и конфликте)

    введите описание изображения здесь

  2. завершить текущий процесс Syndaemon (если он был запущен ранее при загрузке), который управляет этой функцией сенсорной панели:

    pkill syndaemon
    
  3. перезапустите процесс Syndaemon:

    syndaemon -i 2 -d -K
    

    где: 2 - время задержки, в секундах, которое вы хотите, чтобы оно подождало после того, как вы перестанете печатать и прежде чем снова активировать сенсорную панель; обратите внимание, что любое значение времени менее 1,5 ~ 2 с (на самом деле больше, чем что-либо <2 с) является сбойным / глючным и, похоже, не оставляет сенсорную панель полностью отключенной во время набора текста

  4. Чтобы это исправить перманентные: запустить «запуск приложения» приложение из панели поиска → нажмите кнопку «Добавить» → и введите следующую команду в раздел «Команда»: syndaemon -i 2 -d -K. Имя и комментарий могут быть любыми. Нажмите «Добавить», когда закончите, затем закройте его. Вот как это выглядит:

    введите описание изображения здесь

  5. Перезагрузите компьютер, чтобы убедиться, что он работает. Обратите внимание, что эта функция не будет запущена до тех пор, пока вы не войдете в свою учетную запись. Во время входа в систему он еще не активирован.

Подробнее об этой ошибке в Ubuntu 14.04 читайте здесь: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/1295526.

Этот ответ первоначально размещен здесь: https://askubuntu.com/a/986129/327339


-1

Чтобы добавить расширение ко всем уже предоставленным ответам ...

В первую очередь: syndaemon -i 1 -K -d

Единственная проблема с этой командой заключается в том, что после сброса системы код в основном будет отменен.

Поэтому я бы порекомендовал создать Aliasэту команду, даже когда система перезагружается, вы можете просто ввести команду в терминал и автоматически выполнить код из приглашения.

Я лично сделал это, используя 'keystop' в качестве имени команды для реализации этого кода. Однако вы можете использовать любое имя по своему выбору, просто следуйте инструкциям ниже. (Подставляя keystopлюбое имя, выбранное вами для команды)

** Помните, что любое имя команды, которое вы выберете, НЕ должно использоваться!

Вот как вы это делаете:

  1. Открытый терминал
  2. Тип alias keystop='syndaemon -i 1 -K -d'

Это оно! Отныне всякий раз, когда вы перезагружаете свою систему - просто откройте терминал и введите keystopтекст, и код будет выполнен!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.