5 August 2010

Тонкая настройка Synaptics Touchpad

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

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

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

По сути надо: скачать скрипт, подправить под себя и добавить в автозагрузку. Правда скучно? Читаем дальше :)

Проблема


Примерно год назад, прикупив прекрасный Acer 3810T и вдоволь насладившись наигравшись с Win 7, я с удовольствием перешел на Ubuntu.
К сожалению, «железных» проблем прибавилось, но походу они как-то решались (см. ubuntuforums).
Однако больше всего (особенно в сравнении с гладкой работой в Win 7) меня раздражала работа тачпада, а именно:
  1. в некоторых случаях недостаточная, а в других чрезмерная чувствительность
  2. «прыгающий» курсор
  3. отсутствие мультитача
  4. невозможность нормально настроить все это
Что же с этим делать? Посмотрим, что нам предлагают стандартные программы, например, в Ubuntu.

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


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

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

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


Конфетка

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

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

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

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

Процесс

1. Проверяем, установлен ли пакет xinput
2. Проверяем, установлен ли пакет xserver-xorg-input-synaptics
3. Создаем свой скрипт с настройками или используем мой
**Напоминаю, что скрипты у нас как правило в своем имени имеют расширение .sh, начинаются строчкой #!/bin/sh и любят, когда их делают исполняемыми с помощью команды chmod
4. Меняем под себя настройки драйвера в скрипте
5. Добавляем скрипт в автозагрузку (любым удобным способом)

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

xinput --help

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

Чтобы посмотреть список всех устройств:
xinput list
Далее, чтобы посмотреть список параметров конкретного устройства и их значения нужно обращаться к нему по имени или через номер id (лучше уж по имени, когда оно уже известно):
xinput list-props "SynPS/2 Synaptics TouchPad"
Чтобы изменить значение конкретного параметра:
xinput set-int-prop "SynPS/2 Synaptics TouchPad" "имя параметра" #размер значени(я)й в битах# #значения через пробел#
Например:
xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Synaptics Jumpy Cursor Threshold" 32 250
— решает проблему «прыгающего» курсора
xinput set-int-prop "SynPS/2 Synaptics TouchPad" "Circular Scrolling" 8 1
— разрешает прокрутку «по кругу»

Подробно о каждом параметре на сайте X.org

В примитивном скрипте можно посмотреть, какие параметры использовал я. Но, как известно, на вкус и цвет…
Скачать скрипт
Ну вот, вроде все довольны и счастливы. Теперь можно смело рисовать в Photoshop GIMP ;)
Данный алгоритм настройки должен сработать не только для Ubuntu и, возможно, также и для других тачпадов, надо пробовать ;)

К сожалению, мне неизвестно, как настроить такую функцию мультитач, как scale и rotate. Может, кто-то подскажет? Если вам есть, что добавить/поправить, welcome в комментарии.

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

UPD2: Где же ты красавец-кодер на своей машинке-коне, который сделает небольшую утилитку для тех, для кого, скажем Ubuntu — ОС действительно для человеческих существ?
Tags: synaptics touchpad ubuntu script настройка скрипт
Hubs: Configuring Linux
+30
106k 148
Comments 51
Ads
Top of the day