• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] OpenSuse13.1/Gnome3 - Multitouch, Touchscreen

Hallo zusammen,

Ich habe mir ein Sony Vaio SVF-15N2L2ES Convertible Notebook zugelegt und OpenSuse13.1/Gnome3 neben Windows8.1 installiert.
Das Convertible besitzt einen Touchscreen und lässt sich auch in reinen Tablet-Modus umklappen.

Ich habe mich für Gnome3 entschieden, weil ich diese Desktop-Oberfläche für die beste punkto Touchscreen/Tablet-Bedienung halte.
Single-Finger-Touch läuft per default. Ich kann durch die Anwendungsmenus scrollen und Anwendungen starten. Langes Gedrückt-Halten der icons bewirkt einen Rechte-Maustaste-Effekt mit Kontextmenu.
Als Bildschirmtastatur habe ich die unter "Barrierefreiheit" verfügbare Tastatur aktiviert, die sich bei den meisten vorinstallierten Anwendungen sowie im reinen Gnome-Betrieb automatisch öffnet und schließt wenn ich Eingabefelder aktiviere. Für andere Anwendungen habe ich die "xvkbd" Bildschirmtastatur installiert, da die ebenfalls vorinstallierte "Eekboard"-Tastatur bei mir leider unter bugs leidet.

Auch Stifteingabe wird vom Sony Convertible unterstützt und funktioniert unter OpenSuse13.1.

Soweit bin ich also in der Lage meinen Touchscreen unter OpenSuse13.1 zu nutzen.

So richtig ordentlich wird das Ganze in meinen Augen aber erst mit Multitouch, also z.B. Zoomen und Rotieren mit zwei oder mehr Fingern.
Multitouch funktioniert leider überhaupt nicht und ich habe auch keinen Plan wie ich das realisieren könnte.

Zwar habe ich bereits seit einiger Zeit im Internet recherchiert und bin dort auf diverse Pakete gestoßen, die einen Zwei- oder Mehrfingerbetrieb ermöglichen sollen, aber diese Pakete sind meist für Ubuntu maßgeschneidert und teilweise auch schon etwas in die Jahre gekommen.
(Siehe http://plippo.de/p/twofing.htm,
https://wiki.ubuntu.com/Multitouch/Ginn,
http://www.lii-enac.fr/en/architecture/linux-input/index.html#drivers)

Wenn ich mich richtig informiert habe wird bereits seit 2007 an Touchscreen-Support für Linux gearbeitet und der Kernel, X-Server. API und GTK+-Framework unterstützen mittlerweile den Multitouch-Betrieb.

In einem anderen Forum habe ich aufgeschnappt das es möglich sei unter Yast > Maus zwei Mauszeiger zu aktivieren. Jedoch fehlt auf meinem Notebook die Maus-Rubrik in Yast. Das diese Option Multitouch realisiere wurde nicht explizit behauptet, aber es scheint mir zumindest eine Option zu sein.

Wenn ich in Yast2 "touch" als Suchbegriff eingebe sehe ich das "libmtdev1" (Multitouch Protocol Translation Library) installiert ist. "mtdev" (Multitouch Protocol Translation Library) und "tslib" (Abstraction layer for touchscreen) sind nicht installiert, stehen aber in den offiziellen Suse-Repositories zur Verfügung. Was es mit diesen Paketen auf sich hat? Keine Ahnung

Hat jemand Ahnung wie sich Multitouch unter openSuse13.1/Gnome3 realisieren lässt??
Bin über jeglichen Ratschlag, Hinweis, Tipp, Erfahrungsbericht, Link.. etc dankbar!

zur Info:
Ich habe bereits hier (https://forums.opensuse.org/showthr...-Multitouch-Touchscreen?p=2664843#post2664843 ) und hier (http://www.opensuse-forum.de/allgem...ngen/10801-opensuse13-1-multitouch/#post72311 ) einen thread zur Thematik gestellt, bislang aber leider ohne Lösung oder auch Antwort
Ich weiß das "Multi-Threads" (oder wie man das nennt) nicht immer gerne gesehen werden, es scheint hinsichtlich meines Anliegens jedoch nur wenige User zu geben die sich auskennen.. von daher bitte um Verständnis!
 
OP
linux-freund

linux-freund

Member
OP
linux-freund

linux-freund

Member
Gelöst!

Es ist vollbracht! Dank des bereits am Anfang dieses threads gelinkten Programmes "Twofing" von Plippo (http://plippo.de/p/twofing) ist es mir heute gelungen Zweifinger-Gesten systemweit zu ermöglichen!
Das ist zwar streng genommen "nur" ein Zweifinger-Touch, aber ich halte das für völligst ausreichend um eine gute Touchscreen-Funktionalität zu ermöglichen.

Folgendermaßen bin ich vorgegangen:

Zunächst einmal ist es Voraussetzung das der Treiber des Touchscreens Multitouch unterstützt. Um dies zu testen habe ich das bereits vorinstallierte Programm "evtest" verwendet. Falls dort MT-Events ankommen ist es ein gutes Zeichen. In diesem Fall sollte theoretisch eine Anpassung der udev-Regeln von twofing ausreichen um es zum Laufen zu bringen.

Durch Eingabe von "cat /proc/bus/input/devices" als root erhält man die Nummer des events, welches dem Touchscreen zugeordnet ist sowie weitere nützliche Informationen zur verwendeten Touchscreen-Technologie.

Ich erhielt nach Eingabe des Befehles u.a folgende relevanten Angaben:

Code:
I: Bus=0003 Vendor=1b96 Product=0f06 Version=0110
N: Name="N-trig DuoSense Pen"
P: Phys=usb-0000:00:14.0-5/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/input/input15
U: Uniq=
H: Handlers=mouse2 event15 
B: PROP=0
B: EV=1b
B: KEY=c03 1 0 0 0 0
B: ABS=1000003
B: MSC=10
I: Bus=0003 Vendor=1b96 Product=0f06 Version=0110
N: Name="N-trig DuoSense"
P: Phys=usb-0000:00:14.0-5/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/input/input16
U: Uniq=
H: Handlers=mouse3 event16 
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 0 0
B: ABS=3273800000000003

--> Mein Sony Vaio arbeitet mit der N-trig® DuoSense® Technology für Stift- und Multitouch-Eingaben in der Version 1b96:0f06

Anschließend kann man die nun bekannte Event-Nummer (bei mir event16) nutzen um Multitouch-Funktionalität mit evtest zu testen:

"evtest /dev/input/event16"

Hier wird man aufgefordert den Bildschirm zu "touchen" und erhält daraufhin verschiedene Ausgaben von evtest, die zeigen ob die ausgeführten Gesten erkannt werden.

Die Ausgaben von mir waren positiv, so dass ich die Binary-Datei von twofing in einen Ordner meines Home-Verzeichnisses kopiert und unter Eigenschaften/Zugriffsrechte ein Häkchen bei "Datei als Programm ausführen" gesetzt, sowie sämtlichen Nutzern Lese+Schreibrechte gegeben habe.
Verwendet habe ich die aktuellste Version 0.1.2.20120708 aus den Git-Repositorys im Binary-Format.
Siehe hier: https://github.com/Plippo/twofing

Danach habe ich mit dem Befehl "./twofing --debug /dev/input/event16" getestet ob twofing auf meinem System funktioniert --- und das hat es! :)

Zuguterletzt gilt es für twofing eine eigene virtuelle Gerätedatei zu erzeugen, damit es auch ohne Root-Rechte sowie bei Änderung der Gerätenummer funktioniert und dafür zu sorgen, dass sich twofing automatisch startet.

Hierzu habe ich zunächst eine Datei namens "70-touchscreen-ntrig.rules" mit folgendem Inhalt:
KERNEL=="event*",ATTRS{name}=="N-trig DuoSense",SYMLINK+="twofingtouch",RUN+="/bin/chmod a+r /dev/twofingtouch"
mit Root-Rechten in den Ordner /etc/udev/rules.d kopiert.
Zum Schluss habe ich den Befehl <Pfad-zum-Paket>/twofing --wait zu den Startprogrammen hinzugefügt und das wars.

Twofing startet jetzt automatisch bei Systemstart und läuft als Daemon im Hintergrund, fängt sämtliche Touch-Events ab und wandelt sie in ganz normale Maus- und Tastatur-Events um.

Es ist mir dank twofing nun möglich in allen(!) Anwendungen mit zwei Fingern zu scrollen und zu zoomen und auch z.B. Bildmaterialien zu rotieren! Endlich kann ich nun auch die Vorzüge eines Touchscreens unter Kartenprogrammen wie "maps" und "marble" voll ausnutzen.
Das Ganze läuft bugfrei, ruckelfrei und flüssig ohne jegliche Aussetzer! Ich kann es nur jedem empfehlen der Linux mit einem Touchscreen verwenden möchte! Ich musste das Paket, welches eigentlich von Plippo unter Ubuntu getestet und entwickelt wurde noch nicht einmal kompilieren.

Wie bereits erwähnt verwendet mein Sony Vaio Convertible die N-trig Duo-Sense Technologie. Die N-trig-Technologie scheint mit die am Besten unterstütze für Linux zu sein (habe das irgendwo beim recherchieren gelesen). Von daher kann man nichts falsch machen wenn man auf N-trig setzt wenn man vor hat Linux auf dem Computer zu nutzen.

Welche Technologien aktuell vom Linux-Kernel unterstützt werden kann man hier herausfinden:
http://lii-enac.fr/en/architecture/linux-input/multitouch-devices.html


Übrigens scheint Ubuntu mit dem Unity-Desktop aktuell die Linux-Distribution mit der am weitesten fortgeschrittenen Unterstützung von Multitouch zu sein. Allerdings scheint das schlechter und unzuverlässiger zu laufen als mit twofing!
Von daher ist man mit OpenSuse/Gnome + Twofing bestens bedient! ;)

Bin jetzt erstmal total happy das es funktioniert! Muss ehrlich gestehen das ich kurzzeitig wieder angefangen habe öfters in Windows8.1 zu booten wegen der guten Multitouch-Funktionalität, aber damit ist jetzt wieder Schluss!

Fazit:
OpenSuse-Multitouch? --- Kein Problem!


Weitere Info:
Möchte gar nicht so tun als ob der beschriebene Lösungsweg auf meinem Mist gewachsen ist, bin Newbie!
Plippo war so freundlich mir zu helfen das ich twofing auf meinem Sony installieren konnte!
Er war es der mir die ganze Vorgehensweise erklärt und die udev-Regeln angepasst hat!
Dafür auch an dieser Stelle nochmals vielen Dank, Plippo! :thumbs:

Plippo selbst bezeichnet twofing als "einen "Hack" für die Tatsache, dass der Linux-Kernel zwar mit den richtigen Treibern einen recht guten Multitouch-Support geboten hat, aber die Desktop Environments und Anwendungen so gut wie keine Unterstützung boten."
Für mich ist twofing ein einwandfrei funktionierendes Programm, welches man in die offiziellen Repositorys aufnehmen sollte!
 

tomm.fa

Administrator
Teammitglied
Danke für deine Rückmeldung, Aktualisierungen und Anstrengungen. Ich habe es mal als wichtiges Thema oben angepinnt.
 
OP
linux-freund

linux-freund

Member
Danke fürs Anpinnen als "wichtig" tomm.fa!

Bin ja froh überhaupt mal eine Reaktion zu erhalten, nachdem ich dieses Thema bereits in 4(!) Foren gepostet und so gut wie null Antwort erhalten habe ;)

Ich denke es ist tatsächlich eine wichtige Info das der Touchscreen-Support unter OpenSuse und vermutlich allen anderen Distris mit Twofing funktioniert!

Ich vermute das viele Linux-User sich denken "ich warte erstmal bis Linux Touchscreens richtig unterstützt bevor ich mir ein solches Gerät zulege", aber das Paket "twofing" funktioniert richtig gut!
Ich bin wirklich sehr froh dieses Paket "entdeckt" zu haben, welches nicht in den offiziellen Linux-Repositories zu finden ist und zu welchem man kaum Infos im Internet findet. Ein echter Geheimtipp!

Interessant finde ich auch, dass in der Linux-Entwicklung scheinbar großer Wert darauf gelegt wird, dass Kernel, x-org, API.. und und sowie die ganzen Tools alle für eine Multitouch-Unterstützung umgearbeitet werden ohne das es bis heute richtig funktioniert, während Plippo mit twofing einen "hack" (wie er es selbst bezeichnet) entwickelt hat, der einfach auf die ganzen üblicherweise in Linux involvierten Ebenen sch****st und die im Kernel registrierten Gestures einfach direkt in allen Anwendungen ausführbar macht! Was soll daran "dreckig", "unsauber" oder wie auch immer sein? Es funktioniert einwandfrei und das ist doch alles worauf es ankommt, oder?

Das Paket wurde bereits 2010 entwickelt und 2012 zuletzt geupdated und funktioniert auch heute noch einwandfrei und unkompliziert!
Erinnert mich irgendwie an "KISS", oder? ;)

Plippo selbst verwendet Ubuntu und meint das die vorinstallierte Multitouch-Unterstützung (mit utouch-frame, utouch-grail, utouch-geis) auch unter Ubuntu14.04 nicht zuverlässig funktioniert, während twofing nach wie vor ohne Probleme funzt!
 
OP
linux-freund

linux-freund

Member
Twofing unter Gnome 3.14 überflüssig?

Ist das Paket Twofing ab Gnome 3.14 überflüssig geworden?
Siehe: http://www.pro-linux.de/news/1/21551/gnome-314-freigegeben.html

Wird sich im fertigen openSUSE13.2 zeigen, welches mit Gnome3.14 kommen soll!

Twofing läuft systemübergreifend stabil und ohne Aussetzer in sämtlichen Anwendungen und bietet neben Zweifinger-Zoomen (Pinch or Stretch) auch Zweifinger-Scrollen, Rotieren und Rechtsklick.
Falls dies unter Gnome3.14 auch funktionieren sollte (vor allem auch so zuverlässig und stabil) wäre Twofing somit zumindest für den Gnome-Desktop ab 3.14 überflüssig.. Mal gespannt!
 
OP
linux-freund

linux-freund

Member
Also die Multitouch-Funktionen in Gnome3.14, die man in diesem Video (http://www.youtube.com/watch?v=7p8Prlu3owc) veranschaulicht bekommt sehen vielversprechend aus! (von 0:26 bis 0:45)
Stellt sich mir nur die Frage ob das auch in allen Anwendungen läuft! Zumindest der Single-Finger-Touch in Gnome3.10 lief nicht in allen Anwendungen korrekt (z.B. in Chromium)
 
Oben