Пользователь
0,0
рейтинг
5 августа 2010 в 16:47

Администрирование → Тонкая настройка Synaptics Touchpad

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 — ОС действительно для человеческих существ?
Aleksey Malevaniy @almozavr
карма
15,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (51)

  • 0
    Полезная статья. Уже в закладках. Спасибо.
  • –6
    немного погуглив (точнее нажав первую ссылку) наткнулся на пакет GnomeTouchpadManager попробуйте его.
    bit.ly/9Ch3cq
    Сам к сожалению протестировать не могу, ноут отдал жене а она как то против убунты, а на дестопе нет тачпада))
    • +2
      0_о

      Поверьте, если бы все было так просто, я бы не тратил время на эту статью. Хоть бы немного потрудились почитать, прежде чем писать.
  • +4
    Извините, но это детский сад.
    • 0
      Извиняю, подскажите, что не так и как лучше?
      • +8
        Очевидно, использовать synclient.
  • НЛО прилетело и опубликовало эту надпись здесь
    • –1
      О, давно я не бывал в KDE, спасибо за инфу!

      Что стоит смастерить GUI программку для Gnome, которая бы использовала как dependency xinput, генерила скрипт, прописывала его в startup и делала людей более счастливыми?

      Эй, умельцы, кто хочет сделать этот мир чуточку лучше? :)
      • +3
        у меня почему-то есть такая штука как System->Preferences->Pointing devices

        из консоли вызывается как gpointing-device-settings
        все настройки прекрасно работают
        • 0
          Спасибо за утилитку, достаточно удобная.
          Но влючённый чекбокс не помог скролить двумя пальцами
          • 0
            А сам девайс поддерживает такую возможность? Тест в Win должен подсказать.
            • 0
              Вот что интересно — когда была предустановленная вин, там не было скрола(даже настройка была неактивная вроде)
              Скрипт от автора статьи у меня заработал нормально.
              Я по началу подумал, что тачпад не поддерживает аппаратно 2 пальца — пробовал копировать кусок конфига иксов со старого ноута — не заработало. А дело видимо в том, что теперь вообще иксы не читают xorg.conf :-/
              • 0
                Да, да, я и есть автор :)

                С прокруткой 2-мя пальцами есть некоторая неувязочка: почему-то скрипт ее не включает.
                Если просто прописать в терминале:
                xinput set-int-prop «SynPS/2 Synaptics TouchPad» «Synaptics Two-Finger Scrolling» 8 1 1
                то все норм работает. В чём проблема — я так и не разобрался.

                А xorg.conf я так и не смог заставить работать в Ubuntu 10.04, в комментариях говорят, что именно такой способ красивый и правильный. Хотя, я не очень старался может? :)
                • 0
                  Не, скрипт включает скролл(по крайней мере у меня)
                  Я его добавил в Startup Applications
                  Кстати убунта 10.04, нетбук lenovo s10-2

                  я так понимаю «правильный путь» задания настроек, на который часто ссылаются — это через hal. но у меня его нет в системе :-/
                  • 0
                    О, я не много знаю о hal и Ubuntu 10.04, но кто-то упоминал, что он вырезан не полностью.
                    Можно попробовать то, что советуют в комментариях
    • 0
      А у меня почему-то такой конфигурялки нет — она вообще в состав KDE входит? На kde-apps видел что-то похожее, не о ней ли речь?
      • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    на Dell XPS m1330 (тоже Синаптик) мультитач работает «изкаропки» еще со времен 7й или 8й бубунты…
    • 0
      везет же некоторым!
    • +2
      Самое смешное, что под виндой с офиц. дровами он не работает, только с какими-то хакнутыми сборками. А под убунтой всё замечательно.
      • +4
        Скоро это перестанет быть смешным и станет вполне естественным. Ну, мечтать не вредно ведь :)
      • 0
        не совсем смешно. скорее раздражжает. — у жены такой же ХПС только под виндой. иногда приходится за ним работать иии раз — привычный скролл «двумя пальцами» не срабатывает…
    • +1
      Самое смешное, что под виндой с офиц. дровами он не работает, только с какими-то хакнутыми сборками. А под убунтой всё замечательно.
      • 0
        Сорри, на хабре дубли
  • 0
    Synaptics производит отличные тачпады
    что-то мне такие не попадались. Они хоть бы размер их увеличили.
    • 0
      Ну, понятно, не apple, но мне вот мой на Acer 3810T вполне мышу заменяет.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        На сколько я помню, Synaptics и стоит в Макбуках. По ссылочке инфа об установке модуля для Ubuntu — http://b23.ru/ezu6
        Может кому интересно будет.
        • 0
          Насколько знаю я кроме Synaptics вообще мало кто делает тачпады. Достоверный факт — то самое сенсорное управление, ставшее киллер-фичей Apple Ipod, делает Synaptic.
    • 0
      Меня HP dv6 подкупил в не последнюю очередь размерами тачпада. Активная зона 100 x 60 мм.



      Правда кто сравнивал его тачпад с тачпадом MacBook, всё-равно говорят не то.
  • 0
    сколько не мучался на ubuntu 10.04, так и не смог отключить тачпад при наборе текста
    nb asus k61
    • 0
      И тем не менее возможность есть. Например, можно ознакомиться здесь.
  • 0
    А как и где собственно проверить работу, вроде все сделал а в гимпе ничего не зумится( никогда с мультитачем не работал)?
    • 0
      Добавьте в настройки тачпада (/etc/X11/xorg.conf или /etc/X11/xorg.conf.d/***synaptics.conf) опцию Option «SHMConfig» «on», и посмотрите вывод synclient -m 100, если в колонке f у Вас всегда 1, даже при большем количестве пальцев, то Вам не повезло, как и мне. Решения пока не нашёл.
      • 0
        synclient -m 0
        Дешёвые синаптиксы не умеют выдавать количество пальцев, зато могут выдавать ширину соприкасания.
        Смотрите на колонку w, потрогайте одним и двумя пальцами, посмотрите примерно с какой цифры начинает определять 2 пальца, а потом сделайте synclient EmulateTwoFingerMinW=цифра.
        У меня работает. Инфу почерпнул с superuser.com/questions/74024/two-finger-scrolling-with-ubuntu-9-10-samsung-nc10
  • 0
    Проблема в том, что некоторым «не везёт» — synclient -m 100 показывает всегда только 1 палец. При этом в винде мультитач работает.
    А настроить можно глобально в /etc/X11/xorg.conf.d/ (думаю в Ubuntu оно есть) — замена /etc/X11/xorg.conf. Без скриптов.
    Хотя как уже говорили выше в KDE4 приятная графическая настройка.
  • 0
    (Внезапно) Ну и кого случайно не завалялась спецификация мультитач-версии Synaptics Touchpad для производителей? Ну или хотя бы её идентификационные данные? (имя или номер)
  • 0
    Жаль для ELAN smart-pad такого же нету. Хотя бы безгемморойного способа отключения тачпада во время набора.
    • 0
      На моем eeepc 1000H стоит тачпад от Elantech. Драйверы от сипантика вполне себе работают.
  • +3
    Все это можно настроить через HAL или через udev, что вроде как более прогрессивно.
    Процесс отлично описан в wiki ArchLinux http://wiki.archlinux.org/index.php/Touchpad_Synaptics
  • +4
    Очень кривое решение, минус Вам. У драйвера synaptics есть куча опций (все они описаны в man synaptics), и все они настраиваются через конфиг Х11 либо в рантайме через synclient.

    В системах, где HAL вырезан, xorg.conf используется снова:
    Section "InputClass"
       Identifier      "touchpad"
       MatchIsTouchpad "on"
       Driver          "synaptics"
    и тут указываем все опции...
    EndSection
    


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

    Кстати, есть еще syndaemon с опцией отключения кликанья по тачпаду во время набора текста.

    • 0
      Моей маме, сестре и еже с ними — да. А как вы думали? Или вы всем таким людям будете самостоятельно конфиги делать или будете учить их делать это? 0_о

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

      P.S. xorg.conf надо попробовать потестить, спасибо. Просто не хотелось его трогать.
  • +4
    что только люди не делают, лишь бы не читать man 4 synaptics
  • +1
    Читаю статью и мне кажется, что я в какой-то параллельной вселенной живу.
  • 0
    xinput set-int-prop "SynPS/2 Synaptics TouchPad"naptics Two-Finger Scrolling" 8 1 1

    кавычки считать надо :)
    • 0
      Опечатка была только в статье, в скрипте все норм. Проблема остается.
  • +1
    >> начинаются строчкой !#/bin/sh
    Такой строчкой они не начинаются: Вы перепутали два символа местами.
    • 0
      Спасибо, добрые люди, поправил, это опечатка.
  • 0
    Ну вообще с драйверами все плохо, в 2.6.35 совсем сломали поддержку Clickpad. Хотя под SLED должно работать, но т.к. система абсолютно не юзабельна, пришлось ставить Ubuntu
  • –2
    яндексбар, устанавливаемый по умолчанию, конечно «порадовал»…
  • 0
    Спасибо, скрипт чудесно сработал, убрав прыгающий курсор.

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