Ich verwende ein benutzerdefiniertes Touchégg- Multitouch-Gesten-Setup in Ubuntu 11.04 mit einem Magic Trackpad. Da die Standardgesten (z. B. 3-Finger-Tippen und Ziehen zum Verschieben von Fenstern, 4-Finger-Tippen zum Anzeigen des Strichs usw.) in Unity anscheinend fest codiert sind, kann ich ihnen keine benutzerdefinierten Touchégg-Aktionen und einige Standardaktionen zuweisen Gesten (die ich, wenn überhaupt, nicht oft einsetzen möchte) vermischen sich gelegentlich mit meinen ähnlichen benutzerdefinierten Gesten und werden versehentlich ausgelöst.
Gibt es eine praktische Möglichkeit (außer die uTouch-Quelle zu optimieren), um einige der Standardgesten zu deaktivieren? Wenn nicht, sind Verweise auf Teile des Codes (vielleicht in Grail?), In denen die Standardgesten definiert sind, und Hilfe beim Optimieren ebenfalls erwünscht.
Antworten:
Ein Update auf Domster Answer für Ubuntu 12.10.
Der Unity-Quellcode hat sich offensichtlich geändert. So erreichen Sie dasselbe in Unity 6.8.0. Die Schritte zum Herunterladen des Unity-Quellcodes sind die gleichen wie zuvor (ich kopiere das Snippet von domster und füge es ein):
Zu diesem Zeitpunkt ist nur die zu bearbeitende Datei
/tmp/unity/unity-6.8.0/plugins/unityshell/src/unityshell.cpp
.Suchen Sie die Methode
UnityScreen::InitGesturesSupport()
(Zeile 3368 für Unity 6.8.0).Kommentieren Sie dann alle Zeilen, die mit gesture_sub_launcher beginnen, damit es so aussieht:
Erstellen Sie Unity erneut, indem Sie den Anweisungen von domster folgen:
Und wieder voila! Abmelden und wieder anmelden.
quelle
com.canonical.unity.gestures
. Möglicherweise auch in Wily verfügbar, aber ich glaube nicht. Ich bin mir nur sicher, dass es in Trusty nicht verfügbar und in Xenial ist.dpkg-buildpackage -us -uc -nc
mit Fehlern.error: debian/rules build gave error exit status 2
...The X server was not able to run in time
....recipe for target 'tests/CMakeFiles/run-test-switcher-controller-slow-headless' failed
Es stellt sich heraus, dass es nicht so schwer ist, das
unity
Paket zu patchen, da es die Handhabung von Mehrfachberührungen und Gesten vollständig deaktiviert. Hier finden Sie schrittweise Anleitungen zum Patchenunity-4.24.0
.Geben Sie in einer Befehlszeile Folgendes ein:
Kommentieren Sie zu diesem Zeitpunkt die folgenden 2 Zeilen in der Datei aus
/tmp/unity/unity-4.24.0/plugins/unityshell/src/unityshell.cpp
:und die folgenden 4 Zeilen in der Datei
/tmp/unity/unity-4.24.0/plugins/unityshell/src/Launcher.cpp
:Der Quellcode ist in
C++
, so dass das Kommentieren einer Zeile durch Hinzufügen//
am Zeilenanfang erfolgt. Zum Beispiel die Leitungwird
Zurück zur Befehlszeile geben Sie ein:
Et voila!
Wenn Sie sich jetzt abmelden und wieder anmelden, sollten die Gesten normal funktionieren. Das dreifache Tippen funktioniert auf meinem System standardmäßig als mittlerer Klick, ohne dass ein Touchegg erforderlich ist. Aber sowohl touchegg als auch ginn funktionieren jetzt gut, um benutzerdefinierte Gesten für Ihre Anwendungen zu definieren.
quelle
Um dies bei der neuesten Unity (5.18.0) in 12.04 zu tun, müssen Sie etwas andere Codezeilen auskommentieren.
In plugins / unityshell / src / Launcher.cpp:
In den Plugins / unityshell / src / unityshell.cpp:
quelle
Zweiter Versuch
dinegri schlägt vor, dass, um drei Gesten zu deaktivieren, ccsm installiert sein muss und dann "Unit MT Grab Handles", auch "Loves Handles" genannt, hier deaktiviert sein muss .
Aber es lässt uns mit den vier Fingergesten noch.
Erster Versuch
Die Konfigurationsdatei für utouch lautet
/etc/ginn/wishes.xml
. Sie können diese Datei also bearbeiten und die Aktionen entfernen (oder kommentieren), die Sie nicht möchten. Dann würde Touchégg seine Arbeit ohne Konflikte erledigen.Referenz
PS: Ich konnte Ihr Problem hier nicht reproduzieren, um die Lösung zu testen. Das tut mir leid.
quelle
Deaktivieren Sie die Standard-Touch-Gesten wie folgt:
Klicken Sie in den linken Menüs auf
und deaktivieren Sie die dort gezeigten 3 grundlegenden Gesten. Dies funktioniert am 16.04.3.
quelle
Wir haben ein Ubuntu-basiertes Kioskterminal gebaut, aber die Multitouch-Gesten haben das Betriebssystem enthüllt, also mussten wir das irgendwie loswerden.
Es war ein Samsung-Touchscreen-Gerät,
xinput
das das Touch-Modul als AFO TCM10J 40V identifizierte.Um Multitouch-Gesten unter Ubuntu 14.04 zu deaktivieren, ist die Methode im Grunde die gleiche wie oben beschrieben, außer dass Sie in der folgenden Zeile einen Kommentar finden müssen
/tmp/unity/unity-4.24.0/plugins/unityshell/src/Launcher.cpp
quelle
Beachten Sie, dass dpkg-buildpackage die Anzahl der Jobs als Argument zugewiesen werden kann, sodass Sie alle Ihre CPU-Kerne wie folgt verwenden können:
(Dies hätte ein Kommentar zu Dgraziotins Antwort sein sollen, aber ich kann keine Kommentare posten.)
quelle