Мультитач жестів на тачпадах


11

Мені хотілося дізнатись, як я можу налаштувати багатоконтактні жести в Ubuntu. У Windows я можу це зробити за допомогою програмного забезпечення драйвера synaptics.

Я вже використовував synclientдля налаштування кранів, визначення пальця, прокрутки тощо. Але я також хотів би підтримати жести. Чи можливо це навіть?

Інформація про систему: Ubuntu 12.10, кнопковий панель Synaptics


хотів уточнити деякі деталі. Я хотів зробити це - вміти налаштувати жест на кнопки браузера / nautilus назад / вперед. У вікнах я можу це зробити пальцем за допомогою 3-х пальців. Аналогічно мінімізувати / відкривати всі вікна. У програмі Win7 це можна зробити пальцем чотирма пальцями вгору чи вниз. Я хочу речі, схожі на Mac. Чи можливо це?
капад

Відповіді:


11

Оновлення 15.09.2016 Multitouch працює з поля, і всі перераховані нижче рішення (mtrack, synclient, ginn, ...) зіпсують речі, тому, якщо ви оновлюєте старе ядро, яке вимагає їх, видаліть усі допоміжні програми та спробуйте поведінку ядра поза коробкою з інтерфейсом тачпада для вашого менеджера робочого столу. Він повинен робити все, що вам потрібно, і якщо ви хочете більше жестів і речей, додайте легкий удар, який добре працює. Він сортується зараз у драйвери введення ядра на складі та працює без проблем, оскільки принаймні ядро ​​4.1.32, хоча деякі з ранніх ядер 4.0 не працюватимуть. Поточне ядро ​​LTS, 4.4, працює добре, як і 4.7.

оновлення 9/2015 ... ядра вище 3,14 або близько того, вбудована більшість мультитач, тому спробуйте видалити mtrack, якщо у вас є проблеми. якраз вбудований мультитач-драйвер і easystroke працює для мене чудово, оскільки ядро ​​3.14, хоча на 4.0 і вище, здається, є регрес, який порушує яблучну трекпад. 3.18 ядро ​​чудово працює.

Є численні рішення, більшість з яких ще трохи напівпечене. Багато документально підтверджених застарілих, тому переконайтеся, що ви шукаєте дату будь-якої служби Google.

Ubuntu має вбудовану підтримку рудиментарних жестів (2 пальця) в аплеті налаштування миші / тачпада.
Я виявив, що це випадково переможене, і прокручування двох пальців потім буде таємничо сірим, встановивши мене на довгому ланцюжку гуглінгу, щоб, можливо, повернути його.
Тоді я спробував touchegg, з яким часом працював.
Це найпростіше в налаштуванні, і є хороші вказівки, але він базується на старому демоновому рішенні проблеми.
Як багатофункціональний механізм ubuntu (вам доведеться гуглювати його, оскільки я можу включати лише два посилання), погано застаріло, але потроху починає працювати. Він начебто пропонує ще один набір латкових рішень, але в процесі оновлення.

Наразі я використовую рішення mtrackрепост ) у поєднанні з easystroke (потрібно компілювати з джерела).
Mtrack підтримує версію ядра мультитач, а не спеціальне рішення, як touchegg і ginn, якщо я правильно розумію, але easystroke - це ще одне демонстраційне рішення, яке, здається, працює добре на вершині mtrack.

Здається, підхід Мтрака є напрямком розвитку.

видаліть інші речі (ginn, touchegg), якщо ви їх використовуєте, а потім встановіть mtrack з повного імені repos - xserver-xorg-input-mtrack .

Налаштування болю, і я не маю три пальці провести пальцем. Дивіться посилання в кінці потоку для різних файлів конфігурації людей. Я використовую яблучний магічний трекпад, і це досить добре для цього, хоча у нього є один дратівливий глюк у цьому подвійному натисканні та перетягуванні, наприклад, щоб перемістити вікно, є хаотичним. Вирішення проблеми полягає в тому, щоб скористатися фактичним натисканням кнопки для переміщення вікон, або не вагаючись на секунду після подвійного натискання та утримування перед переміщенням вікна.

Я щойно знайшов easystroke , і доки mtrack не отримає gui, ви можете спробувати це, якщо у вас досить пригод, щоб спробувати скласти програму.

як тільки складений запуск make -j2та встановлений користувачем sudo make install, почніть його з того, easystroke -gщоб отримати графічний інтерфейс і перейдіть на сторінку вікі для отримання інструкцій.

Ще одне питання, яке може знадобитися для вирішення, - це драйвери.

Якщо ви використовуєте mtrack , можливо , буде потрібно змінити нумерацію файлів , щоб ваш mtrack водій отримує прочитати останній або Synaptics настройки будуть захоплювати все.

Ці драйвери зберігаються на /usr/share/X11/xorg.conf.d .

скопіюйте драйвер mtrack в /etc/X11/xorg.conf.d , відредагуйте налаштування в цій папці (див. зв'язану нитку та README для того, як), щоб отримати доброту на три пальці, якщо зможете (або скористаєтеся easystroke ), та перейменуйте файл із більшим числом, тож 50-mtrack.conf стає 60-mtrack.conf , інакше я знайшов, що синаптичний драйвер захопить вашу тачпад у половину часу.

Якщо розмістити файл в / etc , це означає, що він не буде перезаписаний у оновленнях, таких як / usr файли, і що він читається останнім, і таким чином має пріоритет над типовими драйверами у / usr .

Сподіваюсь, це допомагає. Це напрямок досить активного розвитку, тому все, що я напишу, можливо, буде застарілим протягом року, сподіваюся, на краще.


Гей, дякую за цю чудову відповідь. Вибачте, це пройшло певний час, щоб перевірити це :)
kapad

Будь-які новини про правильне рішення з цього питання? Досі не можу змусити його працювати приємно ..
1313

Здається, що на сьогоднішній день існує пакет легких ударів, а варіант -g йому не відомий. Без аргументу він запускає графічний інтерфейс. :) PS: Я бігаю монетним двором 16.
Герберт

2

Я просто хотів запропонувати використовувати моє продовження mtrack, доступне в github: https://github.com/p2rkw/xf86-input-mtrack , оскільки він підтримує перетягування 3 пальцями (інструкції внизу readme).

Я також використовую це разом із easystroke, але мені довелося змінити easystroke, щоб видалити обмеження щодо абсолютних пристроїв, за допомогою цієї простої зміни (не пам'ятаю точної причини для цього, вибачте):

diff --git a/handler.cc b/handler.cc
index 8830ea2..c9e3f91 100644
--- a/handler.cc
+++ b/handler.cc
@@ -563,7 +563,7 @@ protected:
        }
 protected:
        void move_back() {
-               if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+               if (!prefs.move_back.get())
                        return;
                XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0);
        }

Я також зменшив запас помилок для жестів:

diff --git a/gesture.cc b/gesture.cc
index 8531c08..0df990e 100644
--- a/gesture.cc
+++ b/gesture.cc
@@ -104,9 +104,9 @@ int Stroke::compare(RStroke a, RStroke b, double &score) {
                return -1;
        score = MAX(1.0 - 2.5*cost, 0.0);
        if (a->timeout)
-               return score > 0.85;
+               return score > 0.95;
        else
-               return score > 0.7;
+               return score > 0.92;
 }

... і це чудово працює.

Побічна примітка про болісну конфігурацію: ви можете використовувати xinput, щоб налаштувати її на льоту, а потім відредагувати xorg.conf відповідно або створити сценарій запуску із викликами xinput.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.