Настройка тачпада линукс debian

Обновлено: 02.07.2024

Synaptics производит отличные тачпады: они отзывчивы, обладают мультитачем и, что самое главное, их можно долго и нудно легко и просто настраивать под свои ловкие пальчики.

Вот только одна незадачка: вся эта прелесть прекрасно работает в Windows 7, в то время как в Linux как всегда лишь унылые огрызки, и наполовину не использующие все свои возможности.

Бесстрашный Хабраюзер, готов ли ты бороться со вселенской несправедливостью? Тогда добро пожаловать под хабракат, тебя ждет море удовольствия, linux-way и миллионы счастливых кликов на выходе :)

Проблема

  1. в некоторых случаях недостаточная, а в других чрезмерная чувствительность
  2. «прыгающий» курсор
  3. отсутствие мультитача
  4. невозможность нормально настроить все это

Стандартные пути решения

Существует 2 наиболее простых решения этой проблемы: настройка мышки через Mouse Preferences в Gnome и программа gSynaptics. В первом случае настроек кот наплакал (выключать тачпад при наборе текста и разрешить горизонтальный скроллинг? Круто!). gSynaptcs тоже решает только часть проблем (есть циркулярная прокрутка, попытка настроить перемещение курсора и чувствительность), но у меня кстати работает довольно криво и почему-то запоминает не все конфиги. Так что все это не торт.

Впрочем, довольно лирики и драматизма. Перейдем к самому интересному!

Решение проблемы

Конфетка

На самом деле Synaptics предлагает ту самую кнопку «сделать ах%?№№0» специальный пакет, с помощью которого можно реализовать мультитач в большинстве популярных дистрибутивов, но только для ОЕМ производителей и меинтейнеров. Возможно, счастье ждет нас в ближайшем будущем, но мы не любим ждать и идем своим (пока единственным) путем.

Оговорюсь сразу: решение и конфиг рассматривается в рамках Ubuntu. Нет, вовсе не потому, что "это самая лучшая ОС в мире". Просто я ее использую :) Всем, кто протестирует в других дистрибутивах и отпишется, шлюхи и блек джек отдельное спасибо!

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

**Решения, найденные в google, оперируют к xorg.conf и HAL, который успешно вырезан из Ubuntu 10.04

Процесс

Как работают строчки скрипта?

xinput --help

Отличная консольная утилита, позволяющая менять настройки устройств ввода налету.

UPD: Спасибо за предложения и пожелания, учтем-с в будущем!

UPD2: Где же ты красавец-кодер на своей машинке-коне, который сделает небольшую утилитку для тех, для кого, скажем Ubuntu — ОС действительно для человеческих существ?


За годы, прошедшие с момента создания, Linux становился все проще и проще в использовании.

И теперь мы принимаем это как должное.

Тем не менее, не все работает так безупречно, как могло бы.

Ноутбуки, особенно новые, могут быть проблематичными в использовании с Linux.

Частично это связано с Wi-Fi и управлением батареями, но часто виноват и тачпад.

К сожалению, эти проблемы с сенсорной панелью могут быть сложными для диагностики и устранения.

Прежде чем начать

Если ваш тачпад не работает и вы подключены к внешней мыши, проверьте настройки системы.

Основные проблемы

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

Попробуйте запустить следующее:

Если вывод слишком длинный, вы можете использовать less вместо cat.

Таким образом, вы можете запустить следующее:

Вы должны увидеть что-то похожее на следующее:

Если вы получаете результаты от xinput, это хорошая новость.

Это означает, что вам нужно либо установить соответствующий драйвер, либо просто настроить его.


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

Где оно находится- будет зависеть от вашего рабочего стола.

Возможно, ваш тачпад просто не включен.

Если это так, просто установите флажок, чтобы включить его.

Выяснить, какой драйвер вам нужен

Если у вас есть подсказка от xinput, вам может потребоваться установить соответствующий драйвер.

Обычно поставщики сенсорных панелей включают Synaptics, ALPS и Elantech.

В некоторых современных системах Linux следующие пакеты будут включать поддержку вышеуказанных сенсорных панелей:

В некоторых случаях вам может потребоваться установить другой пакет драйверов, например xserver-xorg-input-synaptics.

Прочие проблемы

Подавляющее большинство проблем с сенсорной панелью Linux сводится к отсутствующим драйверам.

Тем не менее, есть несколько других вариантов, которые вы, возможно, должны проверить.


На некоторых ноутбуках можно полностью отключить тачпад в BIOS.

Вы можете увидеть его в списке по xinput, но он не будет работать.

Убедитесь, что вы проверили это, прежде чем выбросить свой ноутбук в мусорное ведро.

Многие ноутбуки имеют аппаратный переключатель для отключения сенсорной панели.

Часто это работает, удерживая клавишу «Fn» плюс одну из функциональных клавиш на клавиатуре.

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

Тачпад все еще не работает?

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

Попробуйте новый дистрибутив Linux.

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

Если вы уже пользуетесь современной версией дистрибутива, а тачпад не работает, вам, возможно, придется просто попробовать мышь.

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

Тачпад ноутбука Toshiba

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

Некоторые ноутбуки и под Linux сохраняют работоспобными комбинации клавиш Fn + F(x) (смотрите руководство пользователя своего ноутбука). Тогда отключить тачпад можно при помощи указанной комбинации клавиш.

Ноутбуки Toshiba и многие другие теряют эту способность под Linux, и тогда отключить тачпад можно только настройками Х сервера.

Определить тип вашего тачпада можно при помощи команды:

Эта информация пригодится при редактировании xorg.conf.

Еще полезно убедиться, что управление вашим тачпадом перехватил HAL:

Из вывода команды можно сделать вывод, что не HAL управляет тачпадом, а уже установленный драйвер. Но это еще не мешает проверить:

Отлично, драйвер установлен, он позволяет настраивать тачпад напрямую, редактируя файл xorg.conf или при помощи команд synclient и syndaemon. Но работать с ним мы пока не можем, так как в файле /etc/X11/xorg.conf нет соответствующей секции. Добавим недостающее вручную. Это можно сделать при помощи любого текстового редактора, запущенного с правами суперпользователя. При этом лучше пользоваться GUI редакторами, поддерживающими копипаст, так как ошибка в одну букву сделает Х сервер неработоспособным. Обязательно сделайте резервную копию оригинального файла /etc/X11/xorg.conf.

Нам нужно вписать в файл /etc/X11/xorg.conf две секции:

Эта секция обычно идет самой первой. Это не обязательно, так как порядок секций не имеет значения. Просто так принято.

Вторая необходимая секция:

Сюда-то вы и будете вписывать нужные вам опции, когда внимательно изучите man synaptics.

Теперь осталось перезапустить Х сервер при помощи Ctrl+Alt+BackSpace, или попросту перезагрузиться.

Если Иксы не запустились, значит вы допустили ошибку в файле xorg.conf. Спокойно залогиньтесь в текстовом режиме и при помощи Midnight Commander исправьте ошибку, либо восстановите старый файл из запасной копии.

Надеюсь, что Иксы благополучно запустились. Теперь вы можете сделать так, что тачпад будет отключаться при наборе текста. Для этого запустите команду syndaemon, входящую в комплект драйвера.

где -i 10 означает задержку включения тачпада после окончания набора текста в 10 секунд, а -d означает запуск команды в режиме демона, то есть на втором плане (background). Смотрите man syndaemon.

Чтобы не запускать команду каждый раз вручную, можно включить ее в автостарт. В разных рабочих столах это делается по разному. Например в KDE 3 нужно в своей домашней директории пройти в /home/логин/.kde/Autostart, затем создать в этой папке текстовый файл syndaemon.sh с таким текстом:

Затем щелкнуть правой кнопкой мыши на этом файле прямо в папке и выбрать из всплывшего меню пункт "Свойства". Перейти на вкладку "Права" (Permissions) и поставить галочку в квадратике "Является исполняемым" ("Is executable"). Нажать ОК.

Программа syndaemon

Вот и все. После перезагрузки syndaemon начнет работать автоматически.

Можно менять параметры тачпада при помощи команды synclient, также входящей в состав драйвера. Можно изучить man synaptics и добавлять нужные опции (в том числе полное отключение тачпада) в файл /etc/X11/xorg.conf. А удобнее всего установить еще один пакет:

Программа gsynaptics

Эта программа позволит вам в графическом режиме манипулировать тачпадом.

Программа проста, позволяет регулировать чувствительность и ряд других параметров сенсорной панели. А главное ≈ включать и отключать тачпад одним щелчком мыши в любой момент.

Как всегда в Линуксе, существует еще множество способов настраивать тачпад. Можно изменить конфигурационные файлы HAL, можно найти другие программы управления настройками сенсорной панели. Но это уже другая история.

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

PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

вторник, 3 января 2012 г.

Настройка тачпада Synaptics в Debian + XFCE

В Гноме тап по тачпаду "из коробки" работал как клик левой кнопкой мыши, в XFCE же почему-то - нет, что собственно и стало поводом поковыряться в конфигах иксов с целью настройки тачпада. Как ни странно, двухпальцевый скроллинг сразу же работал и там, и там (чего не было в Ubuntu, где приходилось ставить Synaptics`овскую утилиту для настройки), а вот поведение тапа двумя пальцами меня тоже не устраивало - оно воспринималось как правый клик, а мне хотелось бы чтобы как в винде - как клик центральной кнопкой, удобно открывать ссылки в браузере на новой вкладке =).

Во-первых, убеждаемcя, что у нас действительно тачпад Synaptics:

Нам понадобиться модуль synaptics для иксов, поэтому он тоже должен быть установлен:

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

В xorg.conf добавляем следующие строчки (секции, которые уже имеются, добавлять нет необходимости - можно просто вставить в них ещё одну строчку):

  • Выключена прокрутка краями тачпада, включена прокрутка двумя пальцами
  • Скорость движения курсора настраивается параметрами MinSpeed и MaxSpeed, тут уж, как говорится, на вкус и цвет.. Мне нравится, чтобы курсор бегал пошустрее (наверное из-за мыши с 3000dpi), так что я эти параметры увеличил.
  • Опция TapButton1 включила заветный левый клип по тапу одним пальцем
  • Опцией TapButton2 я включил нажатие центральной кнопки по тапу двумя пальцами. Тап 3 пальцами к сожалению не заработал, так как у моего тачпада родной поддержки многопальцевости видимо нет, а при эмуляции драйвер распознает только 2 пальца.

Кстати об эмуляции: необходимость её использования определить просто: запускаем synclient -m 100, и нажимаем по тачпаду несколькоми пальцами стразу. Если в столбце "f" все время единица - значит тач не умеет определять многопальцевое нажатие. В таком случае продолжаем нажимать на тач то одним, то двумя пальцами, и смотреть на изменение значений в столбцах "w" (ширина нажатия) и "z" (сила нажатия). Наша задача - определить порог по ширине и силе нажатия, отличающий нажатие одного пальца от нажатий двух. Причем важнее всего именно параметр "w", так как сила может быть примерно одинаковой для обоих случаев. Для моих пальцев "w" при нажатии одним пальцем равняется 5, максимум 6, а двумя - не менее 10. Поэтому я взял на всякий случай пороговое значение 8, и присвоил его опции " EmulateTwoFingerMinW". В качестве " EmulateTwoFingerMinZ" я взял 60, хотя порой можно и одним пальцем с такой силой тыкнуть, но ложных срабатываний это не вызывает. А вот установка значения, скажем, 70, приводит иногда к тому, что двухпальцевый скроллинг воспринимается просто как перемещение курсора, если нажать с недостаточной силой. В принципе, при такой эмуляции многопальцевости не составило бы труда определять и нажатия тремя пальцами, установив соответствующий порог ширины нажатия, но программисты synaptics не стали с этим заморачиваться, а жаль.

После изменения конфига перезапускаем иксы и пробуем.

1 комментарий:

На два пальца навесь просто правую кнопку, а центральную в топку.. кому она нужна.

Метки

Читайте также: