Używam niestandardowej konfiguracji gestów wielodotykowych Touchégg w Ubuntu 11.04 z Magic Trackpad. Ponieważ domyślne gesty (takie jak stuknięcie 3-palcem i przeciągnięcie, aby przesunąć okna, stuknięcie 4 palcem, aby odsłonić kreskę itp.) Są najwyraźniej zakodowane w Unity, nie jestem w stanie przypisać do nich żadnych niestandardowych akcji Touchégg i niektórych domyślnych gesty (których nie zamierzam często używać, jeśli w ogóle) od czasu do czasu mieszają się z moimi podobnymi, niestandardowymi i uruchamiane przez przypadek.
Czy istnieje praktyczny sposób (poza poprawieniem źródła uTouch), aby wyłączyć niektóre domyślne gesty? Jeśli nie, wskaż fragmenty kodu (być może w graal?), W których zdefiniowane są domyślne gesty, a pomoc w dostosowaniu również będzie mile widziana.
Odpowiedzi:
Aktualizacja odpowiedzi Domster dla Ubuntu 12.10.
Kod źródłowy Unity oczywiście się zmienił, więc oto jak to osiągnąć w Unity 6.8.0. Kroki pobierania kodu źródłowego Unity są takie same jak poprzednio (skopiuję i wkleję fragment kodu domstera):
W tym momencie plik do edycji jest tylko
/tmp/unity/unity-6.8.0/plugins/unityshell/src/unityshell.cpp
.Znajdź metodę
UnityScreen::InitGesturesSupport()
(wiersz 3368 dla Unity 6.8.0).Następnie skomentuj wszystkie linie zaczynające się od gest_sub_launcher, aby wyglądało to tak:
Ponownie zbuduj Unity zgodnie z instrukcjami domstera:
Et voila ponownie! Wyloguj się i zaloguj ponownie.
źródło
com.canonical.unity.gestures
. Jeśli może być również dostępny w Wily, ale nie sądzę; Jestem tylko pewien, że nie jest dostępny w Trusty i jest w Xenial.dpkg-buildpackage -us -uc -nc
kończy pracę z błędami.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
Okazuje się, że łatanie
unity
pakietu nie jest trudne do całkowitego wyłączenia obsługi wielu dotknięć i gestów. Oto instrukcje krok po kroku dotyczące łataniaunity-4.24.0
.W wierszu polecenia wprowadź:
W tym miejscu skomentuj następujące 2 wiersze w pliku
/tmp/unity/unity-4.24.0/plugins/unityshell/src/unityshell.cpp
:i następujące 4 linie w pliku
/tmp/unity/unity-4.24.0/plugins/unityshell/src/Launcher.cpp
:Kod źródłowy jest
C++
włączony, więc komentowanie wiersza odbywa się poprzez dodanie//
na początku wiersza. Na przykład liniastaje się
Wróć do wiersza poleceń i wprowadź:
Gotowe!
Teraz, jeśli się wylogujesz i zalogujesz ponownie, gesty powinny działać normalnie. Potrójne dotknięcie działa w moim systemie domyślnie jako kliknięcie środkowym kliknięciem, bez potrzeby dotykania. Ale zarówno touchegg, jak i ginn działają teraz dobrze, aby zdefiniować niestandardowe gesty dla aplikacji.
źródło
Aby to zrobić w najnowszej jedności (5.18.0) w 12.04, musisz skomentować nieco inne linie kodu.
We wtyczkach / unityshell / src / Launcher.cpp:
We wtyczkach / unityshell / src / unityshell.cpp:
źródło
Druga próba
dinegri sugerują, że „[t] o niepełnosprawnymi trzy gesty, to [jest] konieczne [do] zainstalowano ccsm, [], a następnie wyłączyć«Jednostka MT uchwyty»znany również jako«kocha»Uchwyty” tutaj .
Ale pozostawiają nam jeszcze gesty czterema palcami.
Pierwsza próba
Plik konfiguracyjny dla utouch to
/etc/ginn/wishes.xml
. Możesz więc edytować ten plik i usunąć (lub skomentować) działania, których nie chcesz. Wtedy Touchégg wykonałby swoją pracę bez konfliktów.Odniesienie
PS: Nie mogłem odtworzyć twojego problemu tutaj, aby przetestować rozwiązanie. Przepraszam za to.
źródło
Wyłącz standardowe gesty dotykowe w następujący sposób:
W menu po lewej stronie kliknij, aby
i wyłącz 3 podstawowe gesty tam pokazane. Działa to 16.04.3.
źródło
Zbudowaliśmy terminal kiosku oparty na Ubuntu, ale gesty wielodotykowe ujawniły system operacyjny, więc musieliśmy się go jakoś pozbyć.
Było to urządzenie z ekranem dotykowym Samsung, które
xinput
zidentyfikowało moduł dotykowy jako AFO TCM10J 40V.Aby wyłączyć gesty wielodotykowe w systemie Ubuntu 14.04, metoda jest zasadniczo taka sama, jak domster opisany powyżej, z tym wyjątkiem, że musisz znaleźć komentarz w następującym wierszu w
/tmp/unity/unity-4.24.0/plugins/unityshell/src/Launcher.cpp
źródło
Zauważ, że dpkg-buildpackage może otrzymać liczbę zadań jako argument, co pozwala na użycie wszystkich rdzeni procesora w następujący sposób:
(Powinien to być komentarz do odpowiedzi dgraziotin, ale nie mogę zamieszczać komentarzy.)
źródło