Richtige Touchpad-Daumen- und Handflächenerkennung mit libinput

23

Also gab libinput bekannt, dass es bald seine erste stabile Veröffentlichung mit einem Veröffentlichungskandidaten geben wird

Dies bietet neben der Unterstützung für Swipe & Pinch-Gesten auch eine angemessene Unterstützung für die Daumen- / Handflächenerkennung auf Touchpads.

Kann jemand eine gute Anleitung zur Installation unter Ubuntu 15.04 geben

Da ich glaube, dass wir es für eine Weile nicht als Standard in einer Ubuntu-Installation sehen werden.

Tomodachi
quelle
Nicht viel Aufmerksamkeit für diese Frage. Ehrlich gesagt, weiß nicht warum.
VRR
Die Palm-Erkennung hängt vom Kernel-Touchpad-Treiber ab und kann auch in xorg-synaptics eingerichtet werden. Welches Touchpad hast du?
Pilot6
@ Pilot6 Das Paket steht zum Herunterladen zur Verfügung, die Readme-Datei enthält jedoch keine spezifischen Anweisungen zum Kompilieren im Kernel.
RCF
@ RCF-U15.04 libinputist eine User Space App. Es hat nichts mit Kernel zu tun. Es werden nur Ereignisse verwendet, die vom Kernel gemeldet wurden.
Pilot6
@tomodachi Wenn Sie die Palmerkennung in Ubuntu gut einrichten möchten, können Sie eine andere Frage stellen, und ich werde Ihnen helfen.
Pilot6

Antworten:

14

So installieren Sie libinput unter Ubuntu.

  1. Installieren Sie einige benötigte Pakete

    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. Installieren xserver-xorg-dev. Für den 14.04.3 kann es sein xserver-xorg-dev-lts-vivid. Achtung. Sie müssen überprüfen, welches xserver-xorgPaket installiert ist.

    sudo apt-get install xserver-xorg-dev
    
  3. Klonen libinputund xf86-input-libinput.

    git clone git://anongit.freedesktop.org/git/wayland/libinput
    git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-libinput
    
  4. Erstellen und installieren.

    cd libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
    cd ../xf86-input-libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
  5. Fügen Sie vor dem Touchpad-Bereich eine conf/90-libinput.confZeichenfolge zur Datei hinzu .Option "Tapping" "True"EndSection

  6. Kopieren Sie die Konfigurationsdatei, um sie zu aktivieren libinput.

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

Abmelden und anmelden.

Sie werden sehen, dass libinputbeim Ausführen verwendet wird xinput list-props <your_touchpad_id>.

Wenn Sie es nicht mögen libinput, können Sie es jederzeit deaktivieren

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

Ich habe es gerade installiert, jetzt überlege ich, wie ich die Handflächenerkennung einrichte. Es sieht so aus, als ob es standardmäßig aktiviert ist, aber ich verstehe noch nicht ganz, wie es die vom Kernel gemeldete Breite und den Druck verwendet.

Es sieht so aus, als gäbe es derzeit keine wesentlichen Vorteile bei der Verwendung libinputin Ubuntu.

xf86-input-libinputpackt es einfach in Xorg und sonst nichts. Zusätzliche Gesten werden daher nicht unterstützt. Zumindest weiß ich nicht, ob sie es tun. Wayland oder Mir werden fähiger sein, denke ich.

Nach einigem Testen fand ich einen Vorteil. Es gibt ein Problem damit, xorg-synapticsdass Sie keinen anderen Finger zum Bewegen des Cursors verwenden können, wenn Sie einen Finger auf den Tastenbereich legen. Dies ist unpraktisch für Leute, die Hardware-Buttons zum Klicken verwenden möchten. Dieses Problem wurde oft als Fehler gemeldet.

In libinputgibt es dieses Problem überhaupt nicht.

Es hat Spaß gemacht, das zu testen. Danke für die Frage.

Pilot6
quelle
@ Pilot6 Was ist der Sinn von "Zusätzliche Gesten werden nicht unterstützt" ?
VRR
@VRR Der Punkt ist, dass Ubuntu DE standardmäßig nicht viele Gesten unterstützt. Nur haben libinputändert nichts daran. 1,2,3 Fingertipps funktionieren sofort. Die Palm-Erkennung ist möglicherweise intelligenter, unterstützt jedoch anscheinend keine Touchpads, die nur die Breite anzeigen. Neue Modelle unterstützen keinen Druck, da sie als Touchscreen usw.
funktionieren
Ich glaube, ich habe die Dinge ein bisschen durcheinander gebracht. Während des Vorgangs. Jetzt erhalte ich den schwarzen Bildschirm nach dem Booten. Aber kein LightDM-Anmeldebildschirm. Möglicherweise liegt es an xorg jemand sagen Sie mir den Prozess , was now..I tun können , um tty zu bekommen
Vorahnung
Wenn Sie Probleme haben, entfernen Sie einfach /usr/share/X11/xorg.conf.d/99-libinput.conf. sudo rm /usr/share/X11/xorg.conf.d/99-libinput.conf
Pilot6
Das löst das Problem nicht. Können Sie etwas über den xserver-xorg-dev erwähnen ... wo Sie auch erwähnt haben ... seien Sie vorsichtig ... Wie Sie auf eine ältere Version zurückgreifen können ...
hunch
25

Für Ubuntu 15.10+ können Sie installieren libinput( gerissener , xenial , yakkety durch) apt:

sudo apt install xserver-xorg-input-libinput

Ich musste die Konfigurationsdatei noch bearbeiten, um das Tippen zu ermöglichen. Da Unity libinput absorbiert, wird dies in den Einstellungen der Systemsteuerung angezeigt (ich habe vi hier verwendet, Sie können gedit verwenden oder was auch immer Sie möchten):

Bearbeiten Sie die folgende Datei (getestet am 16.04.2016, 14.04.2016 und 14.10.2016, 14.10.2016):

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

Passen Sie den Abschnitt 'Touchpad' an, um ihn hinzuzufügen, Option "tapping" "True"und Option "DisableWhileTyping" "True"wenn Sie dieses Verhalten bevorzugen:

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

Ausloggen, einloggen ... viel Spaß! :)

JimB
quelle
In libinput gibt es keine "PalmDetection" -Option, DisableWhileTyping ist standardmäßig aktiviert. Es besteht also keine Notwendigkeit, all dies hinzuzufügen.
Pilot6
Beide Optionen wurden angepasst und entfernt. Ich habe "Tippen" aktiviert, da es nicht standardmäßig aktiviert ist.
JimB
Außerdem empfehle ich nicht, libinput für alle Geräte zu verwenden. Da die Tastatur in meinem Fall verzögert ist, habe ich in meinem Fall das Touchpad-Ereignis ausgewählt und in event5diese Datei geschrieben.
Pilot6
@ Pilot6 - Kannst du ein paar Details darüber geben, wie man libinput nur für Touchpads verwendet?
BeeOnRope
4
Es scheint, dass Sie auch hinzufügen können Option "AccelSpeed" "-0.5", wobei der Wert ein Gleitkomma von -1 (langsamerer Cursor) bis +1 (schnellerer Cursor) sein kann. Sie können mit diesem und anderen Werten auch mit xinput experimentieren. Finden Sie zuerst die ID, indem xinputSie ausführen. Wenn Ihre ID 12 ist, können Sie xinput list-props 12alle Requisiten auflisten. Wenn Sie einen ändern möchten, holen Sie sich den int für die Requisite (zB libinput Accel Speed ​​(281): -0.500000), dann können Sie xinput set-prop 12 281 -0.4den accel auf -0.4 ändern.
David784
1

Ich hatte ein ähnliches Problem mit Lubuntu 17. Ich habe versucht, libinput zu installieren und die .conf-Datei ohne Erfolg zu bearbeiten.

Aber dann sah ich @ Pilot6 Beitrag über die Verwendung von xinput, um zu überprüfen, ob libinput aktiv ist (wäre auch schön zu wissen, was das Kriterium für die Überprüfung ist, aber ich schweife ab).

Ich habe meinen xinput mit überprüft xinput list-props 14(könnte in Ihrem Fall eine andere Nummer sein).

Das gab mir ein synapticsTouchpad.

In der Liste gab es eine Option zur Handflächenerkennung mit einer zugeordneten Nummer (316).

Also habe ich die xinput set-prop 14 316 1Handflächenerkennung aktiviert. Und es funktioniert endlich.

CodeMonkey
quelle