Тачпад Synaptics
From ArchWiki
| i18n |
|---|
| English |
| German |
| Русский |
Contents |
[edit] Вступление
synaptics — это драйвер для тачпадов Synaptics, которые встаиваются в большинство лэптопов. Эта статья поможет вам установить и настроить этот драйвер в соответствии с вашими нуждами.
[edit] Установка
Вы можете установить модули synaptics из репозитория Extra при помощи pacman:
# pacman -S synaptics
Как root отредактируйте /etc/X11/xorg.conf добавьте InputDevice "Touchpad" "SendCoreEvents" к секции ServerLayout:
Section "ServerLayout" ... InputDevice "USB Mouse" "CorePointer" InputDevice "Touchpad" "SendCoreEvents" EndSection
Добавьте Load "synaptics" в секцию Module. Пример:
Section "Module" ... Load "freetype" Load "record" Load "synaptics" ... EndSection
И, наконец, добавьте новую секцию InputDevice для самого тачпада:
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
EndSection
Для тачпадов ALPS: если вышеописанная конфигурация у вас не работает, попробуйте следующий вариант:
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "LeftEdge" "130"
Option "RightEdge" "840"
Option "TopEdge" "130"
Option "BottomEdge" "640"
Option "FingerLow" "7"
Option "FingerHigh" "8"
Option "MaxTapTime" "180"
Option "MaxTapMove" "110"
Option "EmulateMidButtonTime" "75"
Option "VertScrollDelta" "20"
Option "HorizScrollDelta" "20"
Option "MinSpeed" "0.25"
Option "MaxSpeed" "0.50"
Option "AccelFactor" "0.010"
Option "EdgeMotionMinSpeed" "200"
Option "EdgeMotionMaxSpeed" "200"
Option "UpDownScrolling" "1"
Option "CircularScrolling" "1"
Option "CircScrollDelta" "0.1"
Option "CircScrollTrigger" "2"
Option "SHMConfig" "on"
Option "Emulate3Buttons" "on"
EndSection
Сохраните, закройте редактор и перезапустите X-сервер. Теперь у тачпада должны работать зоны прокрутки. Вы можете дальше подкручивать опции в InputDevice по желанию. Смотрите Детальная конфигурация для более подробной информации.
Обратите внимание что ваш свежеисправленный конфигурационный файл Xorg приводит к автоматической загрузке модулей ядра evdev и psmouse от которых зависит synaptics, в том случае, если вы захотите добавить его для явной загрузки в массив MODULES файле /etc/rc.conf:
MODULES=( ... evdev psmouse ... )
[edit] Настройка с использованием GUI-приложений
[edit] Gsynaptics
Когда драйвер synaptics установлен, пользователи GNOME могут установить себе пакет gsynaptics и получить панель управления тачпадом с графическим интерфейсом:
# pacman -S gsynaptics
Для автоматического сохранения и загрузки настроек gsynaptics добавьте gsynaptics-init в список Startup Programs, который находится в меню System -> Preferences -> Sessions.
Примечание: Пользователи не использующие GNOME также могут использовать gsynaptics добавив gsynaptics-init в их стартовые скрипты .xinitrc или .xsession.
[edit] Детальная конфигурация
Драйвер synaptics предоставляет множество опций для настройки. Следующий список описывает опции секции InputDevice, которую мы объявили в конфигурационном файле Xorg:
Identifier — имя этого устройства ввода, которое мы указали в секции ServerLayout выше.
Device указывает на файл устройства synaptic. Смотрите Решение проблем чтобы найти ваше устройство, если у вас это не /dev/input/mouse0.
LeftEdge, RightEdge, TopEdge и BottomEdge — целые числа, которые задают виртуальные размеры вашего тачпада в координатах x и y.
FingerLow и FingerHigh — целочисленные значения, определяющие 'силу нажатия', которую драйвер расценит как прикосновение (сила нажатия становится больше FingerHigh) или отпускание (сила нажатия падает ниже FingerLow).
MaxTapTime — целое число, определяющее максимальную задержку в миллисекундах для одиночного нажатия (tap), которое рассматривается как клик мыши.
MaxTapMove — целое число, определяющее максимальное перемещение пальца для засчитывания одиночного нажатия (tap).
MinSpeed и MaxSpeed являются минимальным и максимальным коэффициентами скорости. Дробные числа с плавающей точкой.
AccelFactor — коэффициент ускорения, также дробное число с плавающей точкой.
SHMConfig — булевское значение (on/off) для включения/выключения использования разделяемой памяти. Эта опция должна быть включена, если вы хотите наблюдать и конфигурировать ваше устройство synaptics такими клиентскими утилитами как synclient, который мы будем использовать в данной статье.
Больше информации по опциям вы найдёте на man-страничке synaptics:
man 5 synaptics
[edit] Тонкая настройка при помощи synclient
Монитор synclient может отображать силу нажатия и положение пальца на тачпаде в реальном времени, позволяя точно задавать опции synaptics под свои нужды. Для работы synclient требуется чтобы была опция SHMConfig была установлена в on или true.
Вы можете запустить монитор synaptics следующей командой:
$ synclient -m 100
где -m активирует монитор, а следующее за опцией число задаёт интервал обновления в миллисекундах.
Этот монитор предоставляет информацию о текущем состоянии вашего тачпада. Например, если вы двигаете тачпадом указатель мыши, то значения x и y в мониторе synclient будут изменяться. Таким образом вы можете легко узнать виртуальные размеры вашего тачпада, которые задаються в опциях LeftEdge, RightEdge, BottomEdge и TopEdge.
Аббревиатуры расшифровываются следующим образом:
time
- время в секундах с начала логирования.
x, y
- координаты x/y пальца на тачпаде. Точка отсчёта — верхний левый угол.
z
- давление. Характеризует вашу силу нажатия на тачпад при работе с ним.
f
- количество пальцев, которые сейчас прикасаются к тачпаду.
w
- ширина пальца.
l,r,u,d,m,multi
- состояния левой(left), правой(right), (верхней)up, (нижней)down, (средней)middle и многофункциональной (multi) кнопок. Нажатое состояние отражается единицей, ненажатое — нулём.
gl,gm,gr
- для тачпадов с подключаемым устройством (guest device) эти параметры соответствуют его состоянию кнопок: левой(guest left), средней(guest middle) и правой (guest right). Кнопки могут быть нажаты(1) или не нажаты(0).
gdx, gdy
- координаты x/y подключаемого устройства (guest device).
Если какое-то значение постоянно равно нулю, это означает что ваше устройство не поддерживает его.
Вооружившись этими знаниями вы сможете подобрать правильные значения для вашего тачпада.
[edit] Круговая прокрутка
Круговая прокрутка — это удобство, предлагаемое вам synaptics, которое вы могли знать по iPod. Вместо (или впридачу к) прокрутке по горизонтали или по вертикали, вы можете осуществлять прокрутку по кругу. Многие пользователи находят этот способ более быстрым и точным.
Для включения круговой прокрутки, вам необходимо добавить следующие опции в секцию устройства ввода как это делалось выше:
Section "InputDevice"
...
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "0"
...
EndSection
Вы наверное догадались, что опция CircularScrolling включает или выключает круговую прокрутку. Опция CircScrollTrigger может принимать одно из следущих значений, определяющий с какой границы тачпада должна начинаться круговая прокрутка:
0 любая 1 верхняя 2 правый верхний угол 3 правая 4 правый нижний угол 5 нижняя 6 левый нижний угол 7 левая 8 левый верхний угол
Задание этой опции отличной от нуля может быть полезным если вы хотите использовать круговую прокрутку совместно с горизонтальной и/или вертикальной прокруткой. В таком случае тип прокрутки будет определяться границей тачпада с которой вы её начинаете.
Для быстрой прокрутки рисуйте маленькие круги в центре вашего тачпада. Для медленной и более точной прокрутки рисуйте большие.
[edit] Отключение тачпада при подключенной мыши
При помощи udev можно автоматически отключать тачпад при подключении внешней мыши!
Для достижения этого, просто добавьте следующее правило udev:
ACTION=="add", SUBSYSTEM=="input", ID_CLASS="mouse", RUN+="/usr/bin/synclient TouchpadOff=1" ACTION=="remove", SUBSYSTEM=="input", ID_CLASS="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
Поместите это в /etc/udev/rules.d/01-touchpad.rules, убедитесь что опция SHMConfig включена и наслаждайтесь.
[edit] Решение проблем
[edit] Мой тачпад не /dev/input/mouse0
В этом случае вы можете посмотреть информацию по всем вашим устройствам ввода следующей командой:
cat /proc/bus/input/devices
Найдите устройство с именем "SynPS/2 Synaptics TouchPad". Вам нужно смотреть на параметр Handler, который подскажет вам какое устройство нужно указать в xorg.conf.
Пример вывода:
I: Bus=0011 Vendor=0002 Product=0007 Version=0000 N: Name="SynPS/2 Synaptics TouchPad" P: Phys=isa0060/serio4/input0 S: Sysfs=/class/input/input1 H: Handlers=mouse0 event1 B: EV=b B: KEY=6420 0 7000f 0
Т.к. выши Handler'ы mouse0 и event1, вам нужно использовать /dev/input/mouse0.
[edit] Отключение кликов мыши при наборе с клавиатуры
Это маленькая хитрость встроенная в драйвер synaptics, позволяет быть уверенным, что тачпад отключен во время набора с клавиатуры. Это очень легко настроить, и здесь я опишу как это сделать.
просто добавьте следующую строку в ваш .xinitrc до запуска оконного менеджера:
syndaemon -i 2 &
Ключ -i 2 устанавливает время простоя в 2 секунды. Это интервал, который будет проходить со времени последнего нажатия клавиши до включения тачпада обратно.
Также вы можете добавить ключ -t который говорит демону не отключать перемещение мыши, а отключать только клики и прокрутку:
syndaemon -t -i 2 &
Как обычно более детальную информацию вы можете найти на man-страничке:
$ man syndaemon
[edit] Firefox неправильно распознаёт горизонтальную прокрутку
Несмотря на то что эта проблема не касается драйверов synaptics, всё равно решение её вы, скорее всего, будете искать здесь.
Чтобы предотвратить firefox от прокрутки истории и заставить его прокручивать страницу, вам необходимо установить следующие настройки:
mousewheel.horizscroll.withnokey.action = 1 mousewheel.horizscroll.withnokey.sysnumlines = true
Вы можете отредактировать их открыв about:config. (Совет взят с gentoo wiki.)
[edit] Ссылки
Synaptics TouchPad driver для XOrg/XFree86 : [1]