Правильное распознавание большого пальца и ладони на сенсорной панели с помощью libinput

Итак, libinput приближается к своему первому стабильному выпуску с кандидатом на выпуск.

К тому же, добавлена ​​надлежащая поддержка обнаружения большого пальца / ладони на сенсорных панелях, а также поддержка жестов смахивания и сдавливания, что очень не хватает в Linux для мультитач-совместимых ноутбуков.

Может кто-нибудь дать хорошую инструкцию, как установить его на Ubuntu 15.04

Как я полагаю, какое-то время мы не увидим его по умолчанию в установке Ubuntu.

4 ответа

Решение

Это как установить libinput в Ubuntu.

  1. Установите несколько необходимых пакетов

    sudo apt-get install git build-essential autoconf automake pkg-config libtool
    sudo apt-get install libmtdev1 libmtdev-dev libudev-dev libevdev-dev xutils-dev libwacom-dev
    
  2. устанавливать xserver-xorg-dev, Для 14.04.3 это может быть xserver-xorg-dev-lts-vivid, Быть осторожен. Вам нужно проверить, что xserver-xorg пакет установлен.

    sudo apt-get install xserver-xorg-dev
    
  3. клон libinput а также xf86-input-libinput,

    git clone git://anongit.freedesktop.org/git/wayland/libinput
    git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-libinput
    
  4. Сборка и установка.

    cd libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
    cd ../xf86-input-libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
  5. Добавить в файл conf/90-libinput.conf строка Option "Tapping" "True" до EndSection в раздел сенсорной панели.

  6. Скопируйте файл конфигурации, чтобы включить libinput,

    sudo cp conf/90-libinput.conf /usr/share/X11/xorg.conf.d/
    

Выйдите из системы и войдите в систему.

Вы увидите, что libinput используется бегом xinput list-props <your_touchpad_id>,

Если вам не нравится использовать libinput, вы всегда можете отключить его

sudo rm /usr/share/X11/xorg.conf.d/90-libinput.conf

Я только что установил его, теперь выясняю, как настроить распознавание ладони. Похоже, что он включен по умолчанию, но я пока не совсем понимаю, как он использует ширину и давление, сообщаемые ядром.

Похоже, в настоящее время нет серьезных преимуществ использования libinput в убунту.

xf86-input-libinput просто оборачивает это в Xorg и ничего больше. Поэтому дополнительные жесты не поддерживаются. По крайней мере, я не знаю, если они делают. Думаю, Уэйленд или Мир будут более способными.

После некоторого тестирования я нашел преимущество. Есть проблема с xorg-synaptics что когда вы помещаете палец в область кнопок, вы не можете использовать другой палец для перемещения курсора. Это неудобно для людей, которые любят использовать аппаратные кнопки для нажатия. Об этой проблеме много раз сообщалось как об ошибке.

В libinput этой проблемы нет вообще.

Это было весело, чтобы проверить. Спасибо за вопрос.

Для Ubuntu 15.10+ вы можете установить libinput ( хитрый, xenial, yakkety) через apt:

sudo apt install xserver-xorg-input-libinput

Мне все еще нужно было отредактировать файл конфигурации, чтобы включить прослушивание, я предполагаю, что, когда Unity поглощает libinput, он выставит это через настройки панели управления (здесь я использовал vi, вы можете использовать gedit или все, что вам нравится):

Отредактируйте следующий файл (проверено 16.04.2016-4-14 и 16.10 2016-10-14):

sudo vi /usr/share/X11/xorg.conf.d/90-libinput.conf 

Настройте раздел "тачпад", чтобы добавить Option "tapping" "True" а также Option "DisableWhileTyping" "True" если вы предпочитаете такое поведение:

Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "Tapping" "True"
    Option "DisableWhileTyping" "True"
EndSection

Выйдите, войдите.. наслаждайтесь!:)

16.04 Вы должны установить xserver-xorg-input-libinput-hwe-16.04 вместо

Проблема с установкой libinput на 16.04.2

У меня была похожая проблема на Lubuntu 17. Я попытался установить libinput и отредактировать файл.conf безрезультатно.

Но затем я увидел пост @Pilot6 выше об использовании xinput для проверки того, что libinput активен (также было бы неплохо узнать, по какому критерию нужно проверять, но я отвлекся).

Я проверил свой xinput с xinput list-props 14 (может быть другое число в вашем случае).

который дал мне synaptics тачпад.

В списке была опция для обнаружения ладони с ассоциированным с ней номером (316).

Так что я использовал xinput set-prop 14 316 1 активировать обнаружение ладони. И это наконец работает.

Другие вопросы по тегам