Zaawansowana konfiguracja przewijania bezwładnościowego

9

Czy jest możliwe skonfigurowanie synaptycznego przewijania bezwładnościowego w taki sposób, aby było zakłócane po naciśnięciu dowolnego klawisza na klawiaturze?

Aby wyjaśnić to pytanie: często używam skrótów. Teraz, gdy na przykład przeglądam Internet i przewijam z powrotem na górę strony za pomocą przewijania bezwładnościowego, powiększam stronę jak szalony, gdy próbuję otworzyć nową kartę za pomocą Ctrl+, Tponieważ przeglądarka wykrywa tylko Ctrl+ scrolling.

Dzieje się tak w wielu aplikacjach i jest naprawdę denerwujące. Kiedyś lubiłem przewijanie bezwładnościowe, ale dopóki problem ten występuje nadal, muszę go wyłączyć.

Mouagip
źródło
Czy to Strgto samo co Ctrl?
praca w
@Jobin tak, to niemiecka wytwórnia. Przepraszam, zapomniałem to zmienić.
Mouagip

Odpowiedzi:

5

Obawiam się, że zostało to już omówione na Xorgu i jest oznaczone jako „Rozwiązane naprawione”, ale nie zostanie naprawione, ponieważ Xorg nie zda sobie sprawy, gdy naciśniesz, Ctrla przewijanie bezwładnościowe jest nadal na swoim miejscu. (Zobacz komentarz Petera Hutterera i jego analogię z Ctrl).

Tak więc przynajmniej do czasu, gdy będziemy mieć Unity 8 (kiedy Xorg zostanie zastąpiony Mirem i mam nadzieję, że zobaczymy, że to naprawdę rozwiązane), możemy jedynie znaleźć jakieś słowo zamiast doskonałej poprawki lub całkowicie wyłączyć bezwładne przewijanie.

Jedną z poprawek, które zaleciłbym, jest wyłączenie funkcji Ctrl+ scrollingw samej aplikacji. Jest to z pewnością nieczyste rozwiązanie, ponieważ problem jest nadal obecny, ale usuwany jest tylko efekt i trzeba to zrobić dla dowolnej aplikacji, w której najczęściej używasz przewijania bezwładnościowego.

Aby wyłączyć funkcję Ctrl+ scrollingw przeglądarce Firefox, wpisz about:configpasek adresu, a następnie kliknij „Będę ostrożny, obiecuję!” Teraz na pasku wyszukiwania wpisz mousewheel.with_control.actioni dwukrotnie kliknij pierwszy wynik i ustaw jego wartość na 1, co spowoduje przewijanie zawartości zamiast powiększania. Możesz ustawić jego wartość na następujące wartości z odpowiednimi efektami:

  • 0 (wyłączone)
  • 1 (przewiń zawartość)
  • 2 (wstecz / do przodu w swojej historii)
  • 3 (domyślnie, powiększanie / pomniejszanie)

Zaktualizuję odpowiedź, jeśli będę w stanie znaleźć czystsze, lepsze rozwiązanie.

Praca w
źródło
1
dla użytkowników Chrome oto rozszerzenie, które (najczęściej) obsługuje ten problem
MInner
Dla użytkowników LXDE / Openbox, oto pytanie, które obsługuje Alt+ scrolling„szaleństwo przełączania pulpitu”, co jest kolejnym objawem tego samego podstawowego problemu.
tanius
czy są jakieś wiadomości na ten temat?
glS
2

Pomijanie zakrętów pomaga! Chociaż nie jest to żadna prawdziwa poprawka, zauważyłem, że korzystanie z CornerCoastingtrybu sterownika Synaptics zamiast normalnego trybu bezwładnościowego przewijania (finger-off) pomaga. Powód: tryb wybiegu narożnego jest aktywny, trzymając palec w rogu, i zatrzymuje się natychmiast po zwolnieniu. Podczas gdy naciskanie Ctrlpodczas wybiegania w rogu wciąż powoduje opisany przez ciebie problem „szaleństwa powiększenia w Firefoksie”, stwierdziłem, że jest bardzo mało prawdopodobne, aby to zrobić, gdy jestem aktywnie zaangażowany w akcję (tj. Palcem na tabliczce dotykowej zamiast wybiegiem z palca).

Wypróbowanie wybiegu narożnego. Następujące polecenie ustawi tryb wybiegu narożnego:

synclient VertEdgeScroll=1 CornerCoasting=1 CoastingSpeed=1 CoastingFriction=0

VertEdgeScroll=1jest spowodowane tym, że funkcja wybierania narożnego działa tylko z przewijaniem krawędzi, a nie z przewijaniem dwoma palcami. Jeśli lubisz wybieganie narożników zarówno na prawej, jak i dolnej krawędzi, dodaj HorizEdgeScroll=1do powyższej linii. CornerCoasting=1włącza tryb wybiegu narożnego. CoastingSpeedto minimalna prędkość przewijania podczas wybiegu, ale wydaje się, że jest to również minimalna prędkość kursora do jej uruchomienia. Dlatego ustawiłem go na minimum, aby najłatwiej było uruchomić tryb, co w innym przypadku może być trudne (i niemożliwe z czymś takim CoastingSpeed=100). CoastingFrictionto wartość pozwalająca na zanikanie przewijania bezwładnościowego. Wyłączamy go tutaj, aby działał, dopóki nie podniesiesz palca, co różni się od tego, co jest zwykle pożądane w konwencjonalnym wybiegu z palcem. Więcej informacji na temat tych opcji można znaleźć na stronie Synaptics .

Coś nie wspomnianego na stronie podręcznika: wybieganie narożników jest pozornie możliwe poprzez przesuwanie z obszaru nie będącego narożnikiem do obszaru narożnego, a następnie trzymanie tam palca . Tak więc ruch wybiegu w narożach zostaje zatrzymany, jeśli przypadkowo uniesiesz palec, nawet przez bardzo krótki czas, uderzając w krawędź tabliczki dotykowej. Tryb wyzwalania „przejście do obszaru narożnego” oznacza również, że funkcja wybiegu narożnego nie zadziała lub będzie trudna do uruchomienia, jeśli Twój TopEdgeiBottomEdgeparametry pozostawiają niewielki lub żaden obszar poza narożnikiem na krawędzi. Są one istotne tutaj, ponieważ obszary narożne są zdefiniowane przez przecięcia obszarów krawędziowych. Również bez obszaru prawej krawędzi o dostępnym rozmiarze wyzwalanie wybiegu narożnego będzie trudne lub niemożliwe. W przypadku mojego sprzętu (ThinkPad X201) stwierdziłem, że te wartości działają dobrze (twoje mogą być inne, to wymaga trochę eksperymentów):

synclient RightEdge=4800 TopEdge=2000 BottomEdge=4000

Dokonywanie kija do wybiegu narożnego. Chociaż synclientjest świetny do testowania ustawień z natychmiastowym skutkiem, są one tracone podczas ponownego uruchamiania X. Aby je zachować, utwórz /etc/X11/xorg.conf.d/51-synaptics-cornercoasting.confplik konfiguracyjny o podobnej nazwie, jak opisano tutaj (działa również w Ubuntu!). W powyższym przypadku treść będzie:

Section "InputClass"
    Identifier "Touchpad tweaks"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "VertEdgeScroll" "on"
      # Option "HorizEdgeScroll" "on" # Enable if you want this.
        Option "CornerCoasting" "on"
        Option "CoastingSpeed" "1"
        Option "CoastingFriction" "0"

        Option "RightEdge" "4800"
        Option "TopEdge" "2000"
        Option "BottomEdge" "4000"
EndSection

Oczywiście zrestartuj X, aby zobaczyć efekt.

Tanius
źródło
0

Możliwe substytuty. Jeśli chcesz całkowicie wyłączyć bezwładne przewijanie, ponieważ błąd jest po prostu zbyt irytujący, istnieje kilka możliwych substytutów (niezupełnie przewijanie bezwładnościowe, ale podobnie bezproblemowe tryby przewijania, których można użyć zamiast tego):

W całym systemie:

  • Wrażliwe przewijanie przycisku Trackpoint. Wykorzystuje on punkt orientacyjny ThinkPad (ale można go modyfikować dla innych punktów) do przewijania, gdy przycisk środkowej myszy jest wciśnięty. Nazywa się to „ przewijaniem przycisków ” w libinputsterowniku i „emulacją kółka myszy” w starszym evdevsterowniku.

    Chodzi o to, aby ustawić go na tak czułość, aby niewielki nacisk szybko przewijał długie strony. Aby to skonfigurować, zapoznaj się z tym pytaniem , szczególnie. odpowiedź przez @htorque które działa najlepiej z libinputkierowcą (domyślnie jako Ubuntu 17.10).

Specjalnie dla przeglądarki Firefox:

  • Rozszerzenie Grab and Drag . Zapewnia to rodzaj trybu bezwładnościowego rzucania / bezwładnościowego przeciągania, dość podobny do przewijania bezwładnościowego dwoma palcami. Skonfiguruj go, aby używał lewego przycisku myszy, co jest najbardziej podobnym trybem do bezwładnego przewijania dwoma palcami na touchpadzie. Wystarczy użyć jednego palca z dotknięciem i przytrzymaniem, a następnie „rzuć stronę internetową”. To przeszkadza w wyborze tekstu, ale mają przycisk, aby tymczasowo wyłączyć rozszerzenie.

    Zakłócenie wyboru tekstu jest denerwujące, ale skonfigurowanie go dla dowolnego innego przycisku myszy na touchpadzie sprawia, że ​​korzystanie z niego jest bardzo trudne. (Na przykład za pomocą środkowego kliknięcia, które można skonfigurować jako kliknięcie dwoma palcami na touchpadzie, byłoby to: dotknij dwoma palcami, dotknij i przytrzymaj dwoma palcami, unieś jeden palec, a następnie wykonaj ruch jak wyżej: D ).

  • Automatyczne przewijanie. Zobacz tę odpowiedź, aby dowiedzieć się, jak to skonfigurować. Również skonfigurować dwoma palcami dotykając stworzyć środkowy kliknięcie - w efekcie tylko synclient TapButton2=2. Teraz kliknięcie dwoma palcami spowoduje wyświetlenie elementu automatycznego przewijania w przeglądarce Firefox, a odsunięcie wskaźnika myszy od niego spowoduje trwałe przewinięcie w tym kierunku aż do kliknięcia. Niestety przesuwanie wskaźnika musi odbywać się jednym palcem. (To po prostu nie działa dwoma palcami, nawet gdy przewijanie dwoma palcami jest wyłączone.) I nie mogłem dowiedzieć się, jak odwrócić kierunek przewijania tej funkcji, aby był „naturalny”.

Tanius
źródło