Linux как включить тачпад

Touchpad

Тачпад (англ. touchpad) — маленькая сенсорная панель, располагается обычно на ближнем к пользователю краю открытого ноутбука. Используется для передвижения и кликов указателем мыши в отсутствие или в дополнение к самой мыши.

Содержание

Настройка тачпадов на ноутбуках [ править ]

Тачпады для ноутбуков бывают нескольких производителей. Наиболее распространены трех видов: Synaptics, Elantech и Alps. Synaptics — открытый протокол, elantech и alps — закрытый. Тем не менее оба последних вида тачпадов уже поддерживаются драйвером synaptics — разница в том, что alps-тачпад не передает количество пальцев, нажимающих его; поэтому жесты, требующие двух и более пальцев, практически не поддерживаются (ниже есть пример обхода).

Драйвер synaptics [ править ]

Данный драйвер содержится в пакете xorg-drv-synaptics .

Для подключения тачпада через synaptics может потребоваться создать конфигурационную секцию для X-сервера. Если «из коробки» не работает — в данный момент оптимально создать файл, назовем его 10-synaptics.conf, в каталоге /etc/X11/xorg/conf.d ; минимальное содержание данного файла:

Раскомментируйте строку с Option «SHMConfig» только на время, пока подбираете параметры, это небезопасная опция, позволяющая программам читать и редактировать данные других программ.

Начальное конфигурирование [ править ]

Для конфигурирования при загруженном synaptics применяется команда synclient либо xinput .

synclient [ править ]

В последней (1.7.3) версии synclient нет опции -m , соответственно, настраивать тачпад возможно только методом подбора. Впрочем, в логах загрузки Х-сервера можно узнать производителя и отталкиваться от этого в тяжелых случаях.

Формат команды: synclient опция значение или для начального определения — synclient -m время (в мсек) . Запускаете онлайн-слежение и производите разные жесты на тачпаде (касания, передвижение одного/нескольких пальцев)

Здесь time — время от начала работы программы, x, y — координаты нажатия от верхнего левого угла, z — сила нажатия, f — количество распознанных пальцев,w — ширина (диаметр) пятна нажатия, l, r, u, d, m, multi — соответственно левая, правая, верхняя, нижняя, средняя и многофункциональная дополнительные кнопки тачпада (полосы прокрутки?), единица соответствует нажатию, далее идут параметры для подключаемого устройства (guest device): gl, gm, gr — левая, средняя и правая кнопки, gdx, gdy — координаты гостевого устройства.

Если при запуске synclient лаконично отвечает

значит, либо опция SHMConfig не включена в файле 10-synaptics.conf, либо X-сервер не поддерживает данную опцию. В принципе, за пару дней пользования можно и вслепую подобрать необходимые параметры.

xinput [ править ]

Узнать текущее устройство :

Id тачпада в данном случае равен 14. Теперь можно узнавать текущие и выставлять новые значения.

$ xinput list-props 14 | grep -i palm

Включаем определение ладони :

$ xinput set-prop 14 «Synaptics Palm Detection» 1

Уменьшаем значения (допустим, край ладони не определяется, а трех пальцевый клик все равно не используется), вместо имени опции можно использовать её номер:

$ xinput set-prop 14 297 7 150

$ xinput list-props 14 | grep -i palm

syndaemon [ править ]

В пакете xorg-drv-synaptics есть еще программа syndaemon , которая может отключать тачпад во время набора текста. Пример запуска:

$ syndaemon -i 2 -d

В данном варианте программа работает в фоновом режиме (-d), ждет 2 секунды после нажатия любой клавиши, если в течении этого времени нет нажатия следующей клавиши, включает тачпад (-i 2). Для отключения только кликов и скроллинга можно добавить опцию -t. Также можно поставить пакет xorg-synaptics-touchfreeze , содержащий настроенный скрипт запуска syndaemon .

Опции [ править ]

Команда synclient -l выдает на консоль все параметры с их значениями. Каждый параметр имеет свой аналог для xinput (и для xorg.conf.d ), описанный в man synaptics .

LeftEdge, RightEdge, TopEdge, BottomEdge — соответственно левый, правый, верхний и нижний края тачпада. Могут быть изменены для создания ‘мертвых зон’ на каком-то краю. Целые числа.

FingerLow, FingerHigh — определяют срабатывание при нажатии: считается касание, если давление становится выше FingerHigh, и отпускание, если падает ниже FingerLow. Целые числа.

FingerPress — определяет нажатие в режиме эмуляции трекболла, чем больше число, тем сильнее требуется нажать. Целое число.

MaxTapTime — максимальное время в мсек, до которого касание определяется как одиночное, при превышении — считается удержанием. Целое число.

MaxTapMove — максимальное передвижение пальца, которое отбрасывается при одиночном касании. Целое число.

MaxDoubleTapTime — аналог MaxTapTime для двойного касания. Целое число.

ClickTime — продолжительность генерируемого клика при касании, в мсек. Целое число.

FastTaps — тачпад быстрее реагирует на одиночное нажатие, но медленнее на двойной. 0 или 1.

VertEdgeScroll — при ведении пальцем у правого края тачпада производится вертикальный скроллинг. 0 или 1.

HorizEdgeScroll — то же для верхнего края и горизонтального скроллинга. 0 или 1.

CornerCoasting — одновременное действие предыдущих двух опций. 0 или 1.

VertTwoFingerScroll — вертикальный скроллинг двумя пальцами. 0 или 1.

HorizTwoFingerScroll — горизонтальный скроллинг двумя пальцами. 0 или 1.

Читайте также:  Темный экран после загрузки windows

VertScrollDelta, HorizScrollDelta — расстояние, на которое необходимо передвинуть палец для скроллинга. Целое число.

MinSpeed, MaxSpeed — минимальная/максимальная скорость движения курсора, при равных значениях ускорение отсутствует. Число с дробной частью.

AccelFactor — величина ускорения курсора. Чем больше, тем быстрее растет скорость от минимальной до максимальной. Целое с дробной частью.

EmulateTwoFingerZ — для тачпадов, распознающих многопальцевое касание как однопальцевое (например, Alps), позволяет установить значение давления, при котором будет генерироваться касание двумя пальцами. Рекомендуется установить немного большим FingerHigh. Целое число.

EmulateTwoFingerW — то же, что предыдущее, значение для ширины пятна касания. Во многих случаях не стоит устанвливать больше 0, так как недотачпады постоянно шлют 0 в этом параметре. Не рекомендуется совмещать с PalmDetect=1. Целое число.

TouchpadOff — включает/выключает тачпад. Значения: 0 — включено, 1 — выключено, 2 и более — работает только передвижение указателя мыши. Целое число.

LockedDrags — «инерция» скроллинга (пока не истечет время, определенное LockedDragTimeout) и касания (залипание курсора, пока не будет другого касания). 0 или 1.

LockedDragTimeout — время в мсек, в течение которого будет продолжаться скроллинг с момента ухода пальца с тачпада. Целое число.

RTCornerButton, RBCornerButton, LTCornerButton, LBCornerButton — какую клавишу мыши нажать при касании в правом верхнем, правом нижнем, левом верхнем, левом нижнем углах соответственно. Варианты: 0 — отключено, 1 — левая кнопка, 2 — средняя, 3 — правая. Целое число.

TapButton1, TapButton2, TapButton3 — эмуляция кнопок мыши при касании одним/двумя/тремя пальцами соответственно. Значения, как в предыдущем параметре. Целое число.

PalmDetect — при нажатии большой площади тачпада автоматически будет блокироваться любая активность указателя. Полезно тем, кто часто сбивает указатель мыши и курсор при наборе текста. 0 или 1.

PalmMinWidth — какая минимальная ширина касания должна быть, чтобы тачпад среагировал как на прикосновение ладони. Целое число.

PalmMinZ — то же, что и предыдущая опция, только на силу давления. Целое число.

CircularScrolling — довольно удобная опция, позволяет прокручивать длинные страницы, документы, производя круговые движения по тачпаду. Чем ближе описываемый круг к центру, тем более быстро прокручивается страница. Эмулируется вращение колесика мыши. 0 или 1.

CircScrollDelta — угол вокруг центра тачпада, при прохождении которого генерируется одно вращение колесика мыши. Целое с дробной частью.

CircScrollTrigger — одна из зон тачпада, начало движения на которой будет восприниматься как начало прокрутки. Варианты: 0 — все стороны, 1 — верхний край, 2 — верхний правый угол, 3 — правая сторона, 4 — нижний правый угол, 5 — нижний край, 6 — нижний левый угол, 7 — левая сторона, 8 — левый верхний угол. Целое число.

SingleTapTimeout — время, которое тачпад ждет после первого касания последующие, если их не следует, то генерируется одиночный клик. Увеличивайте, если не успеваете сделать двойной клик. Целое число.

GrabEventDevice — опция, нужная, если в конфигурационном файле опция protocol установлена в event. При других значениях или при отсутствии опции (дефолтном auto-dev) игнорируется. При изменении применится только после [пере]загрузки драйвера synaptics. 0 или 1.

TapAndDragGesture — использовать ли перетаскивание мышью (двойной клик, причем второе касание не отпускается, аналог зажатой левой клавиши мышки). 0 или 1.

AreaLeftEdge, AreaRightEdge, AreaTopEdge, AreaBottomEdge — опция для отключения части площади тачпада с левой/правой/верхней/нижней стороны соответственно. Если поддерживается сервером (версия больше 1.9), можно указывать в процентах от общей ширины/высоты. Целые числа.

Особенности для разных протоколов [ править ]

Тачпад Synaptics [ править ]

Особых параметров и манипуляций не требуется, все должно работать из коробки.

Тачпад Elantech [ править ]

До ядра 2.6.34 этот тачпад не поддерживался в Linux (работал как обычная мышь) без пропатченого модуля psmouse; после требовалось загружать модуль psmouse с опцией force_elantech=1 (по отзывам, у некоторых работает, если загружать эту опцию на старте системы, передавая ядру в командной строке опцию psmouse.force_elantech=1); в версии ядра 3.9.4 работает автоматически через драйвер synaptics (соответственно, в модуле psmouse пропала данная опция). Для того, чтобы включить разделяемую память (если опция SHMConfig не срабатывает), требуется собрать Х-сервер с опцией «INPUT_DEVICES=synaptics» [1] .

Программные кнопки [ править ]

При наличии «двухкнопочного» кликпада (clickpad) Elantech возможно расширение его функциональности, поскольку нажатия «кнопок» отрабатываются программно; пример для добавления средней кнопки, весьма удобной для быстрой вставки буфера обмена при работе в X11:

Для обработки касаний одним, двумя и тремя пальцами требуется добавить перед «EndSection» строки:

Тачпад ALPS [ править ]

У тачпада Alps невозможно (пока?) получить координаты двух-трех пальцев, соответственно, работают только одиночные жесты. Но все же, если принять во внимание координату w (ширину пятна контакта) и величину z (силу нажатия), то можно примерно определять, когда на поле тачпада находятся один, а когда больше пальцев. Для этого применяются опции EmulateTwoFingerMinW и EmulateTwoFingerMinZ соответственно, а также EmulateMidButtonTime. Естественно, не все жесты работают, но двухпальцевый скроллинг идет как горизонтальный, так и вертикальный.

GUI [ править ]

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

gsynaptics [ править ]

gsynaptics на данный момент считается устаревшим и не рекомендуется для использования.

gpointing-device-settings [ править ]

gpointing-device-settings пришел на замену gsynaptics , поддерживает гораздо больше опций и считается передовым на данный момент.

Встроенные в Gnome [ править ]

Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Читайте также:  Драйвера видеокарты для nvidia geforce 710m для windows

В Gnome есть собственный раздел настройки. При конфигурировании сторонними утилитами может случиться, что настройки не меняются, несмотря на отсутствие ошибок в параметрах. Дело в том, что Gnome перекрывает своими настройками любые другие. В таком случае нужно выключить плагин gnome-settings-daemon, открыв gconf-editor и сняв галочку с ключа /apps/gnome_settings_daemon/plugins/mouse/active.

Встроенные в XFCE [ править ]

XFCE также имеет собственный раздел настройки тачпадов, однако опций там минимум. Поэтому рекомендуется для полноценного тюнинга использовать Х-сервер/ synclient .

Встроенные в KDE [ править ]

После установки пакета kde4-synaptiks в параметрах KDE4 в разделе Оборудование -> Устройства ввода появится раздел «Сенсорная панель», где можно настраивать практически все возможные опции тачпада в удобном виде.

Сохранение настроек [ править ]

Правильным способом является конфигурирование путем добавления опций Х-сервера.

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

/.xprofile в виде команды synclient option1=param1 option2=param2 option3=param3 либо положить файл с командами и опциями в каталог автозапуска настольного окружения. Также можно применять команду xinput из одноименного пакета.

Источник

MNorin.com

Блог про Linux, Bash и другие информационные технологии

Настройка тачпада в Linux (Synaptics TouchPad)

Настройка тачпада в Linux предполагает, что драйвер тачпада позволяет делать гораздо больше, чем с ним обычно делают. Например, можно включить или выключить скроллинг двумя пальцами (как вертикальный, так и горизонтальный), включить клик одним, двумя, тремя пальцами по тачпаду, изменить направление скроллинга (если вы, например, привыкли к скроллингу на планшете). Давайте посмотрим, как же можно тонко настроить тачпад, причем из командной строки.

Условия

Прежде всего нужно обговорить, если вы упустили это в заголовке, что речь идет о настройке тачпадов, пожалуй, самого известного производителя — Synaptics. За поддержку тачпадов Synaptics в Debian GNU/Linux отвечает пакет xserver-xorg-input-synaptics. Соответственно, он должен быть установлен. Обычно он ставится по умолчанию, но проверить лишним не будет. Это можно сделать командой

И, если такой пакет у вас не установлен, а тачпад Synaptics есть, то этот пакет надо будет поставить командой

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

Программа synclient

Эта программа — основной инструмент тонкой настройки сенсорной панели (тачпада) Synaptics. Synclient использует интерфейс командной строки, формат команды следующий:

Как видите, длинных (GNU) опций нет, только короткие (Posix), и то совсем немного.

-h, -? Вывод справки
-V Вывод версии программы
-l Вывод всех используемых опций и их значений
var1=value1 Задать опции с названием var1 ее новое значение value1. Программа может в одной строке принимать сразу много разных опций. После названия переменной перед знаком равенства и после знака равенства пробелов быть не должно

Опции и их назначение

Вот список доступных опций с описанием:

LeftEdge Координаты левой стороны тачпада
RightEdge Координаты правой стороны тачпада
TopEdge Координаты верхней стороны тачпада
BottomEdge Координаты нижней стороны тачпада
FingerLow Минимальная степень нажатия. Если давление становится ниже, чем указанное, считается, что произошло отпускание
FingerHigh Максимальная степень нажатия. Если давление стало выше указанного, значит произошло нажатие
MaxTapTime Таймаут, до истечения которого касание считается одиночным нажатием. После истечения интервала считается, что происходит удержание
MaxTapMove Максимальное движение пальца, допустимое при клике по тачпаду. Его значение отбрасывается и не считается перемещением.
MaxDoubleTapTime Аналогично MaxTapTime, но для двойного клика
SingleTapTimeout Когда вы делаете одно касание, в течение данного таймаута ожидается, что последует следующее касание. Если в течение указанного временного интервала повторное касание не произошло, считается, что произошло одно касание
ClickTime Продолжительность клика. То есть, длительность касания, интервал времени, в течение которого засчитывается клик, если вы в пределах этого интервала коснулись, а затем подняли палец
EmulateMidButtonTime Интервал времени, в течение которого обрабатывается нажатие на среднюю кнопку мыши, которое может быть настроено на нажатие одним, двумя или тремя пальцами
EmulateTwoFingerMinZ Минимальный уровень давление, который будет определен как касание двумя пальцами
EmulateTwoFingerMinW Минимальное расстояние между точками нажатия, которое будет определено как касание двумя пальцами
VertScrollDelta Расстояние, на которое надо передвинуть палец для вертикального скроллинга
HorizScrollDelta Расстояние, на которое надо передвинуть палец для горизонтального скроллинга
VertEdgeScroll Включить вертикальный скроллинг при проведении пальцем вдоль правого края тачпада (1 — включить, 0 — выключить)
HorizEdgeScroll Включить горизонтальный скроллинг при проведении пальцем вдоль верхнего края тачпада (1 — включить, 0 — выключить)
CornerCoasting Опция, которая используется при скроллинге проведением пальца вдоль правой стороны тачпада. Она определяет, использовать ли продолжение скроллинга после того, как палец дошел до правого нижнего угла.
VertTwoFingerScroll Включить вертикальный скроллинг двумя пальцами (1 — включить, 0 — выключить)
HorizTwoFingerScroll Включить горизонтальный скроллинг двумя пальцами (1 — включить, 0 -выключить)
MinSpeed Минимальная скорость движения курсора
MaxSpeed Максимальная скорость движения курсора. Если максимальная скорость равна минимальной, то ускорения движения курсора не будет
AccelFactor Коэффициент ускорения курсора. Чем он больше, тем быстрее скорость увеличивается с минимальной до максимальной
TouchpadOff Выключить тачпад (0 — тачпад включен, 1 — тачпад выключен, любые значения больше 1 — включено только перемещение курсора)
LockedDrags При перетаскивании касаниями (tap-and-drag), если эта опция выставлена в 1, отпускание кнопки мыши происходит только после дополнительного клика. Это позволяет отрывать палец от поверхности тачпада до окончания перетаскивания
LockedDragTimeout Опция, определяющая, по истечении какого временного интервала после отрывания пальца от тачпада автоматически закончить перетаскивание касаниями.
RTCornerButton Какую кнопку мыши эмулировать при нажатии на правый верхний угол тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
RBCornerButton Какую кнопку мыши эмулировать при нажатии на правый нижний угол тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
LTCornerButton Какую кнопку мыши эмулировать при нажатии на левый верхний угол тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
LBCornerButton Какую кнопку мыши эмулировать при нажатии на левый нижний угол тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
TapButton1 Какую кнопку мыши эмулировать при касании одним пальцем не у края тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
TapButton2 Какую кнопку мыши эмулировать при касании двумя пальцами не у края тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
TapButton3 Какую кнопку мыши эмулировать при касании тремя пальцамине у края тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
ClickFinger1 Какую кнопку мыши эмулировать при касании одним пальцем в левой стороне тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
ClickFinger2 Какую кнопку мыши эмулировать при касании двумя пальцами в левой стороне тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
ClickFinger3 Какую кнопку мыши эмулировать при касании тремя пальцами в левой стороне тачпада (0 — отключено, 1 — левая кнопка, 2 — средняя кнопка, 3 — правая кнопка)
CircularScrolling Интересная возможность — круговая прокрутка. Это работает следующим образом: вы делаете круговые движения по тачпаду, и таким образом заменяете прокрутку колесиком мыши. По часовой стрелке — прокрутка вниз, против часовой стрелки — прокрутка вверх. 0 — выключено, 1 — включено
CircScrollDelta Угол смещения пальца относительно центра тачпада при прохождении которого генерируется такое же системное событие, как при прокрутке колесика на одно деление
CircScrollTrigger Область тачпада, при начале движения по которой будет активироваться скроллинг при использовании круговой прокрутки.
0 — любая сторона тачпада
1 — верхняя сторона
2 — верхний правый угол
3 — правая сторона
4 — правый нижний угол
5 — нижняя сторона
6 — нижний левый угол
7 — левая сторона
8 — левый верхний угол
CircularPad Если эта опция выставлена в 1, то область тачпада определяется не как прямоугольник, а как эллипс, вписанный в стороны тачпада
PalmDetect Определять нажатие ладонью. Эта опция полезна, когда вы печатаете на клавиатуре и случайно нажимаете частью ладони на тачпад. Если она включена, то при нажатии на большую площадь движение курсора будет выключено. 0 — выключено, 1 — включено
PalmMinWidth Минимальная ширина касания, при которой касание будет определено как касание ладонью.
PalmMinZ Минимальное давление, при котором будет определено касание ладонью
CoastingSpeed Скорость, с которой должны генерироваться события скроллинга, чтобы поддерживалось продолжение скроллинга при достижении пальцем стороны тачпада
CoastingFriction Количество событий скроллинга делёное на секунду в квадрате, на которые будет снижаться скорость скроллинга при достижении стороны тачпада
PressureMotionMinZ Минимальное давление пальца на тачпад, при котором будет происходить определение движения по тачпаду
PressureMotionMaxZ Максимальное давление на тачпад, при котором будет определяться движение пальцем по тачпаду
PressureMotionMinFactor Минимальный множитель усиления коэффициента давления при определении движения пальцем
PressureMotionMaxFactor Максимальный множитель усиления коэффициента давления при определении движения пальцем
GrabEventDevice Эта опция имеет смысл только при использовании событий устройств в ядре linux 2.6. При использовании других протоколов эта опция игнорируется. Если опция выставлена в 1, драйвер будет эксклюзивно захватывать устройство для обработки событий с него.
TapAndDragGesture Включить перетаскивание при помощи двойного касания (первое короткое, второе постоянное) аналогично перетаскиванию левой кнопкой мыши (0 — выключено, 1 — включено)
AreaLeftEdge Координата с левой стороны, любые движения и клики слева от которой
AreaRightEdge Включить (1) или выключить (0) область вдоль правой стороны тачпада
AreaTopEdge Включить (1) или выключить (0) область вдоль верхней стороны тачпада
AreaBottomEdge Включить (1) или выключить (0) область вдоль нижней стороны тачпада
HorizHysteresis Минимальное аппаратное расстояние по горизонтали, необходимое для генерации события движения. Может указываться в процентах
VertHysteresis Минимальное аппаратное расстояние по вертикали, необходимое для генерации события движения. Может указываться в процентах
ClickPad Является ли устройство клик-падом, то есть панелью без аппаратных кнопок
Читайте также:  Apple pay mac os без touch id

Сохранение настроек

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

Вот как это сделать в LXDE. Создаем скрипт /home/user/bin/touchpad следующего содержания:

После этого создаем файл /home/user/.config/autostart/touchpad.desktop

И при входе в систему настройки тачпада должны подгрузиться автоматически.

Источник

Оцените статью