Використовуйте трекпад ноутбука як графічний планшет


15

Мене цікавить використання мого трекпада для ноутбука як планшетного малюнка, тобто використання абсолютних, а не відносних координат, аналогічно Inklet для OSX.

Це ж питання було задано в ubuntuforums.org у травні 2010 року, але на це питання так і не було відповіді. Мені цікаво, чи це було зроблено в Linux. Я також намагаюся розібратися, які пошукові терміни використовувати. Я шукав "абсолютний режим тачпада для ноутбука Linux", і зіткнувся з проблемою з драйверами треків, які перевели трекпад в абсолютний режим. але я дійсно шукаю програму, яка використовує абсолютні позиції, а не настройки драйвера.


1
Ви хочете, щоб це працювало на Ubuntu на MacBook? Або ви запитуєте чи спосіб це зробити за допомогою будь-якого трекпада в Ubuntu?
Елія Каган

Я шукаю щось, що може працювати з будь-яким ноутбуком.
Barton Chittenden

Є трекпаді іншими , ніж ті , в останніх MacBooks здатні на це? Це здається чимось сильно залежним від універсальності самого пристрою введення.
Елія Каган

1
Ви не знайдете жодної програми, здатної це зробити. У Mac OS X це теж не так, але їм вдалося приховати це належним чином (наприклад, перемикання режиму введення на основі запущеної програми). Відповідне запитання: як читати абсолютні позиції дотику з сенсорної панелі Cirque в linux
gertvdijk

Відповіді:


8

Подивіться на драйвери, а не на додатки

Ви не знайдете програму, яка робить це, тому що з цих трьох типів тачпадів драйвери намагаються абстрагуватися до єдиного представлення додаткам:

  • Тачпад, що повідомляє дані про абсолютні позиції, драйвер Xorg переводиться на відносний рух для додатків. Звичайна програма не може спілкуватися з тачпада безпосередньо (за дизайном), тому вам справді потрібно шукати рішення у драйвері.
  • Сенсорні панелі, здатні як у відносних, так і в абсолютних режимах, потребують перемикання режимів, що дуже специфічно для обладнання та не обізнане з додатками.
  • Деякі основні тачпад не мають можливості звітувати про абсолютні позиції.

На жаль, навіть якщо у вас є сенсорна панель, яка здатна повідомляти про всі абсолютні значення, більшість драйверів сенсорної панелі не дозволяють вам використовувати їх у додатках Linux. Абсолютні дані дійсно є, оскільки драйвер може визначити, чи торкаєтесь ви його, наприклад, для прокрутки. Перевірте це для себе, використовуючи evtestвіртуальний термінал (щоб призупинити X). Моя сенсорна панель Synaptics повідомляє про абсолютні позиції наступним чином:

Event type 3 (EV_ABS)
  Event code 0 (ABS_X)
    Value   3332
    Min     1472
    Max     5648
    Fuzz       8
    Resolution      39
  Event code 1 (ABS_Y)
    Value   2017
    Min     1408
    Max     4806
    Fuzz       8
    Resolution      79

Можливість фактично перевести пристрій Synaptics в абсолютний режим у Xorg нещодавно було усунуто цим комітетом у xf86-input-synapticsдрайвері:

Remove absolute mode

Moving a touchpad in absolute mode is unusual - touchpads are disconnected
from the output device, so direct interaction is hard. There appears to be
little usage of it (I haven't seen bug reports from people claiming to use
it). Joe Shaw, author of the code and only known user doesn't have a use for
it anymore, so purge it from the repo.

Основний системний драйвер: evdev

Єдиний спосіб, коли я бачу, що це можливо в даний момент в Linux, це використання evdevдрайвера в Xorg. Це було обговорено ще у 2010 році у списку розсилки Xorg (уривок нижче):

Я повинен отримати абсолютне положення пальця на тачпаді, а не просто відносний рух.

драйвер synaptics цього не робить, але драйвер evdev робить. Тому вам потрібно налаштувати свій X-сервер, щоб замість цього використовувати драйвер evdev для тачпада. Наступний фрагмент конфігурації зробить це для вас за умови запуску сервера 1.8 або новішої версії.

Section "InputClass"
    Identifier "evdev touchpad"
    MatchIsTouchpad "on"
    Driver "evdev"
    Option "Mode" "absolute"
EndSection

Збережіть це як /etc/X11/xorg.conf.d/99-evdev-touchpad.confі перезавантажте сервер. Зауважте, що це лише змінює поведінку самого тачпада, а не дані про події, але знову ж таки, що дані завжди є абсолютними. Також, використовуючи evdev замість синаптики, ви втрачаєте здатність прокручувати двома пальцями, натискати тощо.

Підсумок: створити запит на функцію

Я бачу місце для запиту на функцію у висхідній програмі виправлення помилок для драйвера synaptics (і, можливо, інших). Було б дуже корисно мати інтерфейс у Xorg, щоб можна було зчитувати абсолютні значення положення тачпада. Основні блокатори, які я бачу, - це те, що це може бути дуже специфічним для обладнання, а тому важко реалізувати.

Я думаю, що розмова з Джо Шоу та Пітером Хаттерером також може мати велике значення для того, щоб побачити, яка саме історія в цьому, як зробити це великим запитом на особливості та чого від нього очікувати.


Приємна відповідь, але тут миша просто застигла ... (12.10)
desgua

@desgua Так, дуже багато чого чекати. Тут немає абсолютних вхідних значень ...
gertvdijk

1
На випадок, якщо хтось все ще зацікавлений цим, я подав помилку: bugs.freedesktop.org/show_bug.cgi?id=75322
Донарссон,

1
ОНОВЛЕННЯ: Мій запит на функцію було відхилено, і керівник заявив, що "пошкодує об'єднати його в першу чергу". Я перегляну код і, мабуть, розщедриться. Якщо я це зробити, я опублікую тут останній коментар, щоб кожен, хто його зацікавив, міг його побачити. Вибачте за спам.
Донарссон

0

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


1
Це не дуже правда. X може читати позиції, оскільки він може визначити, на якому краю ви, наприклад, прокручуєте. Я вважаю, що це більше параметр конфігурації X Input, який ми не вистачаємо.
gertvdijk

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