- Жесты на тачпаде
- Touchegg — жесты для тачпада на X11
- Введение
- Установка
- Ubuntu и производные:
- Fedora:
- ArchLinux и производные:
- VoidLinux
- Дополнительно
- Настройка
- Доступные жесты
- Доступные действия
- Стандартные действия с окнами
- Тайлинг (TILE_WINDOW)
- Переключение рабочих столов/рабочих пространств (CHANGE_DESKTOP)
- Сочетание клавиш (SEND_KEYS) и выполнение команд (RUN_COMMAND)
- Заключение
- MNorin.com
- Блог про Linux, Bash и другие информационные технологии
- Настройка тачпада в Linux (Synaptics TouchPad)
- Условия
- Программа synclient
- Опции и их назначение
- Сохранение настроек
Жесты на тачпаде
Доброго времени суток. На оффтопике есть очень интересные жесты, к примеру тремя пальцами смахнуть все окна, четырьмя поменять рабочий стол.
Есть ли возможность на онтопике завести такое/подобное?
А пока этот libinput доведут до ума, не проще ли https://wiki.archlinux.org/index.php/Touchpad_Synaptics использовать?
Жесты распознаются (libinput), но не видел ещё приложений, которые хотя бы свайп умели нормально обрабатывать (плавно с анимацией). Вообще с этим туго, есть только костыли вроде приведённого выше.
Ещё есть ощущение, что распознаются хуже, чем в win/mac или нужно калибровать как-то.
На deepin работает из коробки. Весьма интересно
так оно уже мертвенькое, и вообще все эти плюшки будут уже в вяленом с либинпутом (как и нормальная работа сенсорного экрана)
AFAIK либинпут может бэкэндом и в X11. Проблема в том, что поддержку мультитача (swipe, rotate, zoom) должны впилить себе приложения и тулкиты, чего не наблюдается даже в дефолтных хиганутых приложениях гнома.
А ещё тачпады калибровать нужно, гугл, например, тестирует нормальную работу тачпада на хромбуках финскими роботами.
Источник
Touchegg — жесты для тачпада на X11
Введение
Лично для меня, Gnome 40 раскрыл потенциал использования тачпада. Когда я его только попробовал, сразу же стало дико удобно испольпользовать жесты. Однако по некоторым причинам я не могу использовать Gnome и Wayland.
Touchegg — программа, позволяющая расширить возможности тачпада, добавляя дополнительные жесты, которые работают только под X11.
Установка
Ubuntu и производные:
$ sudo add-apt-repository ppa:touchegg/stable
$ sudo apt update
$ sudo apt install touchegg
Также можно скачать и установить через deb-пакет.
Fedora:
/Downloads # Или любая другая директория, где лежит скачанный пакет.
$ sudo dnf install touchegg-*.rpm
ArchLinux и производные:
В Arch Linux устанавливается через AUR. Стоит обратить внимание, что по умолчанию службы не будут включены, поэтому необходимо прописать следующие команды:
$ sudo systemctl enable touchegg.service
$ sudo systemctl start touchegg
Версия для дистрибутивов на основе Arch Linux без поддержки systemd, таких как Artix, также доступна в AUR.
VoidLinux
$ sudo xbps-install touchegg
$ sudo ln -s /etc/sv/touchegg /var/service
Дополнительно
Если вы используете Gnome, то рекомендуется так же установить расширение X11 Gestures.
После установки Touchegg необходимо перезагрузить систему.
Настройка
Для настройки советуется использовать утилиту Touche, которая позволяет в графическом режиме настраивать жесты. Ее можно установить как пакет flatpak.
Установка:
flatpak install flathub com.github.joseexposito.touche
Запуск:
flatpak run com.github.joseexposito.touche
Также возможно установить нативно для Ubuntu через deb-пакет и для Arch Linux через AUR.
Помимо прочего, присутствует возможность настроить вручную, отредактировав XML-файл. Скопируйте файл конфигурации по умолчанию из /usr/share/touchegg/touchegg.conf в
/.config/touchegg/touchegg.conf (если автоматически он не создался в домашней директории).
Доступные жесты
SWIPE — жесты смахивания выполняются при синхронном движении трех или более пальцев в одном направлении. Три- это минимальное количество пальцев, которое Touchegg допускает для жестов смахивания натачпадахи два на сенсорных экранах.
PINCH — щипковые жесты выполняются, когда два или более пальца находятся на тачпаде и либо изменяют относительное расстояние друг от друга (сжимание), либо изменяют относительный угол (поворот).
TAP — жесты касания выполняются, когда два или более пальцев «нажимают» на сенсорный экран.
В целом, названия тегов говорят сами за себя:
Тег » » означает жест. Имеет следующие параметры:
- type — вид жеста (вариации указаны выше);
- finger — количество пальцев (для свайпа — 3-4, для остальных — 2-4);
- direction — направление движения пальцев (для свайпа — up/down/left/right, для пинча — in/out).
Далее идет тэг действий » «, но об ниже.
Доступные действия
Стандартные действия с окнами
Доступны следующие стандартные действия с окнами:
- Развернуть или восстановить окно (MAXIMIZE_RESTORE_WINDOW).
- Свернуть окно (MINIMIZE_WINDOW).
- Закрыть окно (CLOSE_WINDOW).
- Развернуть окно на весь экран (FULLSCREEN_WINDOW).
- Показать рабочий стол (SHOW_DESKTOP).
- Клик мыши (MOUSE_CLICK).
Они содержат следующие параметры:
- animate — включаетили отключает анимации (значения: true/false);
- color — отвечает за цвет анимации;
- BorderColor — отвечает за цвет границы анимации.
Тайлинг (TILE_WINDOW)
Изменяет размер окна, который находится под указателем мыши, и перемещает его вправо/влево на половину экрана.
Помимо параметров прошлых действий, также содержит в себе параметр direction, который отвечает за расположение окна (значения: left/right).
Переключение рабочих столов/рабочих пространств (CHANGE_DESKTOP)
Содержит следующие параметры:
- direction — рабочий стол/пространство, на который нужно переключиться (значения —previous/next/up/down/left/right/auto);
- animate — включает или отключает анимации (значения: true/false);
- AnimationPosition — указывает, на каком краю будет отображаться анимация перехода (up/down/left/right/auto);
- color — отвечает за цвет анимации;
- borderColor — отвечает за цвет границы анимации.
Сочетание клавиш (SEND_KEYS) и выполнение команд (RUN_COMMAND)
Также можно настроить выполнение сочетаний клавиш (SEND_KEYS) и выполнение команд (RUN_COMMAND), но я их не тестировал. Поэтому более подробно советую ознакомиться здесь (для сочетаний клавиш) и здесь (для выполнения команд)
Заключение
Таким образом, Touchegg расширяет возможности при ипользовании тачпада. Благодаря этому можно полноценно им пользоваться. Тестировал только на Gnome и KDE, поэтому про остальные DE сказать ничего не могу. Если кто-то пробовал или собирается проверить, то просьба об этом отписать в комментариях. В проверенных мной DE все работает исправно. Единственное, не факт, что поменяется цвет анимации, как минимум у меня для сворачивания окон он так и не завелся.
Надеюсь, что эта статья кому-то пригодится. Возможно что-то упустил, поэтому рекомендую дополнительно ознакомиться со всем здесь. Всем добра!
Источник
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 | Является ли устройство клик-падом, то есть панелью без аппаратных кнопок |
Сохранение настроек
Для сохранения настроек тачпада придется вызывать команду synclient удобным для вас способом. Для этого можно сделать скрипт, который будет вызывать эту команду, и который будет запускаться при входе в учетную запись, например.
Вот как это сделать в LXDE. Создаем скрипт /home/user/bin/touchpad следующего содержания:
После этого создаем файл /home/user/.config/autostart/touchpad.desktop
И при входе в систему настройки тачпада должны подгрузиться автоматически.
Источник