Zwiększenie prędkości przewijania

39

Niedawno przeszedłem na Ubuntu, a jedyną rzeczą, która mnie niepokoi, jest szybkość przewijania, której nie mogę zmienić. W systemie Windows ustawiałem go na około 7 linii, ale wydaje się, że na Ubuntu jest około 3 i jest niezmienny. Jak mogę zmienić prędkość?

Kironid
źródło

Odpowiedzi:

26

Jeśli dotyczy tylko Internetu, możesz zmienić prędkość przewijania w FireFox:

  • EditMenu> Preferences> Advancedzakładka> Browsinggrupa: wyłączyć płynne przewijanie

Strojenie:

  • Wpisz enter about:configw pasku adresu
  • Znajdź i zmień mousewheel.withnokey.sysnumlinesna FAŁSZ
  • Następnie zmień mousewheel.withnokey.numlinesz 1 na cokolwiek chcesz.

I bardziej ogólne, systemowe rozwiązanie:

MestreLion
źródło
3
Dla całego systemu.
Kironide
5
Wystarczy odłączyć i ponownie podłączyć złącze myszy. To zadziałało dla mnie.
Airton Sobral
3
Tak. Dla mnie też zadziałało. Korzystałem z myszy bezprzewodowej. Najpierw próbowałem wyłączyć i włączyć zasilanie myszy, ale to nie pomogło. Następnie odłączyłem adapter USB, odczekałem kilka sekund, a następnie ponownie podłączyłem.
1
@AirtonSobral To dość dziwne! Pracowałem również dla mnie, z wyjątkiem mojego przypadku, że moje kółko przewijania przeskakuje na całą długość strony (zbyt szybko). Teraz jest płynnie! :)
Web_Designer
1
Czy ta odpowiedź jest aktualna?
ahorn
26

Po prostu odłącz mysz (moja była bezprzewodowa), a następnie podłącz ją ponownie, aby rozwiązać ten problem.

Długo szukałem tej poprawki, a nawet uruchomiłem ponownie komputer bezskutecznie.

Może pełne zamknięcie systemu rozwiązałoby problem.

frustratedtech
źródło
2
To również działało dla mnie. To trochę denerwujące, że muszę to robić przy każdym uruchomieniu, ale no cóż, przynajmniej działa.
Tamás Szelei
2
Pełne wyłączenie nie działało dla mnie, ale odłączanie i ponowne podłączanie działało! Mam nadzieję, że nie muszę tego robić przy każdym cyklu ponownego uruchamiania.
TechplexEngineer
4
Wow, to zadziałało również dla mnie w przypadku myszy Microsoft Wireless, która przewijała się zbyt szybko. Odłączyłem klucz Bluetooth i ponownie go podłączyłem, a przewijanie stało się idealne. Zadziwiające, że naprawa była tak prosta.
Gerry
Z pewnością nie ma sposobu, aby w pełni wyrazić moją wdzięczność w ciągu całego życia, więc powiem tylko: DZIĘKUJĘ, DZIAŁA.
AndreasT
Znaleziono idealne rozwiązanie. Nigdy więcej odłączania i podłączania. Użyj resetmsmice i pakietu Ubuntu
Ted Feng
15

W przypadku Ubuntu 12.10 okazało się, że jest trochę inaczej w przypadku Firefox.

Otwórz about:config(wpisz go w pasku adresu) i wyszukaj:

mousewheel.min_line_scroll_amount

Następnie zmień numer z nim powiązany. Mój został ustawiony na 5. Zmieniłem go na 60 i działa teraz tak, jak tego chcę.

Phydoux
źródło
1
Dzięki! Sama znalazłem tę opcję, ale nie próbowałem tak dużej liczby, tylko coś w rodzaju 10. Ale wraz z płynnym przewijaniem wydaje się, że znacznie wyższe liczby są w celu osiągnięcia ledwie wystarczających prędkości przewijania. Obecnie mam ustawiony na 100.
nem75
5

W przeglądarce Firefox 19 uruchom about:configna pasku adresu, a następnie zmień parametr mousewheel.min_line_scroll_amountna wyższy (50). Nie musisz ponownie uruchamiać FF.

tirengarfio
źródło
2

Mam tutaj Firefox 42.0 i do przewijania używam touchpada.

Zauważyłem, że jeśli chcę dostosować przewijaną odległość, mogę zmienić:

mousewheel.default.delta_multiplier_y

w about:config. Jego domyślna wartość to 100. Większa wartość przewija się dalej / szybciej.

joeytwiddle
źródło
1

Jeśli do przewijania używasz dwóch palców na touchpadzie , możesz użyć synclientdo regulacji czułości dla całego systemu .

Jeśli go nie masz:

sudo apt-get install xserver-xorg-input-synaptics

Aby zobaczyć bieżący próg czułości, sprawdź wyjście:

synclient -l | grep ScrollDelta

Aby zwiększyć czułość, zmniejsz wartość:

synclient VertScrollDelta=33

Oznacza to, że musisz przesuwać mniej palca, aby wysłać każde zdarzenie przewijania.

Jeśli chcesz odwrócić kierunek przewijania, np. „Naturalne przewijanie” w systemie Mac OS X, ustaw wartość ujemną.

Pamiętaj jednak, że nie pozwoli to skonfigurować minimalnej przewijanej odległości, gdy poruszasz tylko palcami. To musi być skonfigurowane dla aplikacji (lub ewentualnie dla środowiska pulpitu).

joeytwiddle
źródło
tylko na urządzeniach Synaptic - nie dotyczy ALPS ani żadnego innego producenta touchpada.
Wyatt8740
0

Nawet jeśli sztuczka polegająca na odłączeniu / podłączeniu naprawi problem, nie jest to naprawdę dobre rozwiązanie

Jednym z rozwiązań, które znalazłem, jest dodanie

xinput set-prop 10 'Evdev Scrolling Distance' 10 10 10

na końcu mojego .profilepliku (lub gdziekolwiek zostanie on wykonany raz przy logowaniu graficznym)

W przypadku mojej myszy Microsoft wartości domyślne były 1 1 1zbyt wrażliwe.

10 10 10 są dla mnie odpowiednie.

Nie poświęciłem czasu, aby zobaczyć, co właściwie oznacza każda liczba

Marco Albarelli
źródło
numer zaraz po nim set-propjest identyfikatorem urządzenia (wierzę). Możesz to sprawdzić za pomocą listy xinput. Twoje identyfikatory urządzeń zostaną wyświetlone w kolejności. Uzyskaj dostępne właściwości zxinput list-props [id]
emf
Oto, co oznaczają parametry Evdev
Sam
0

Dla tych, którzy wolą to naprawić Linux Desktop Way.

Napisałem wyczerpującą instrukcję dodawania Scroll Ratiopoprzez źródła libinput:

https://github.com/up-to-you/linux_notes/blob/master/mouse/scroll_speed.md

Dla tych, którzy nienawidzą github( gitlabfajnych?), Powielono tutaj (działa dla dowolnej myszy):

znajdź pliki libinput

sudo updatedb
ll $(locate -A libinput.so)

najprawdopodobniej Canonical dostarcza libinput lib za pomocą snapów

sudo snap list
sudo snap remove gnome-3-28-1804

sprawdź, czy libinput pozostaje w folderze systemowym, np .: /usr/lib/x86_64-linux-gnu/libinput.so /usr/lib/x86_64-linux-gnu/libinput.so.10 /usr/lib/x86_64-linux-gnu/libinput.so.10.13.0

ll $(locate -A libinput.so)

klonuj źródło libinput

git clone https://gitlab.freedesktop.org/libinput/libinput
cd libinput

modyfikować src/evdev.c. Znajdź evdev_read_wheel_click_propsfunkcję i init angles.y = 361;

static inline struct wheel_angle
evdev_read_wheel_click_props(struct evdev_device *device)
{
    struct wheel_angle angles;
    const char *wheel_count = "MOUSE_WHEEL_CLICK_COUNT";
    const char *wheel_angle = "MOUSE_WHEEL_CLICK_ANGLE";
    const char *hwheel_count = "MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL";
    const char *hwheel_angle = "MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL";

    /* CLICK_COUNT overrides CLICK_ANGLE */
    if (evdev_read_wheel_click_count_prop(device, wheel_count, &angles.y) ||
        evdev_read_wheel_click_prop(device, wheel_angle, &angles.y)) {
        evdev_log_debug(device,
                "wheel: vert click angle: %.2f\n", angles.y);
    }
    if (evdev_read_wheel_click_count_prop(device, hwheel_count, &angles.x) ||
        evdev_read_wheel_click_prop(device, hwheel_angle, &angles.x)) {
        evdev_log_debug(device,
                "wheel: horizontal click angle: %.2f\n", angles.y);
    } else {
        angles.x = angles.y;
    }
    // since, src/util-prop-parsers.c : abs(angle) > 360
    angles.y = 361;

    return angles;
}

modyfikować src/libinput.c. Znajdź libinput_event_pointer_get_axis_value_discretefunkcję i zastosuj współczynnik przewijania, jak chcesz:

LIBINPUT_EXPORT double
libinput_event_pointer_get_axis_value_discrete(struct libinput_event_pointer *event,
                           enum libinput_pointer_axis axis)
{
    struct libinput *libinput = event->base.device->seat->libinput;
    double value = 0;

    require_event_type(libinput_event_get_context(&event->base),
               event->base.type,
               0.0,
               LIBINPUT_EVENT_POINTER_AXIS);

    if (!libinput_event_pointer_has_axis(event, axis)) {
        log_bug_client(libinput, "value requested for unset axis\n");
    } else {
        switch (axis) {
        case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL:
      // x5 ratio for horizontal scrolling
            value = event->discrete.x * 5;
            break;
        case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
      // x5 ratio for vertical scrolling
            value = event->discrete.y * 5;
            break;
        }
    }
    return value;
}

Przygotuj katalog kompilacji (wymagana instalacja zależności):

meson --prefix=/usr builddir/ -Ddocumentation=false

Skompiluj i zainstaluj:

ninja -C builddir/ && sudo ninja -C builddir/ install

Sprawdź lokalizację:

sudo updatedb
ll $(locate -A libinput.so)

Wyloguj / Zaloguj się, użyj.

zależy od Ciebie
źródło