Zwiększ prędkość przewijania kółkiem myszy

81

Jak mówi tytuł, chcę zwiększyć liczbę wierszy, które są przekazywane, gdy używam kółka myszy do przewijania. Wiem, że istnieją sposoby, aby to zrobić w przeglądarce Firefox i Chromium, chociaż chcę coś dla całego systemu, głównie z powodu czytnika plików PDF.

Jestem na pulpicie i używam myszy Microsoft Wireless Mouse 5000.

Rodrigo Martins
źródło
9
Można by pomyśleć, że powinno to być możliwe z Mouse & Touchpadkonfiguracji systemu. Szkoda, wciąż potrzebujemy oprogramowania innych firm (na razie).
Domi,
Logitech ma myszy Hyper Scroll, mają one wolne kółko. Osobiście mam m705. Po prostu zmiana sprzętu jest często znacznie prostsza niż próba zrobienia tego samego z oprogramowaniem. Ale bądź ostrożny, możesz skończyć na zmniejszeniu prędkości przewijania u tych myszy (tak natknąłem się na to pytanie)!
Yrogirg
Możliwy duplikat Zwiększenia prędkości przewijania
Cees Timmerman

Odpowiedzi:

79

Uprzednio

W obecnie używanym systemie sterowników wejściowych nie jest możliwa zmiana prędkości przewijania myszy, przynajmniej nie bez wad. Możesz dostosować prędkość przewijania w aplikacjach Qt za pomocą Ustawień KDE, ale jedynym aktualnym sposobem na zmianę przewijania w sposób ogólny jest użycie, imwheelktóre wydaje się być problematyczne na wiele sposobów (patrz komentarze). W przyszłości zostanie to naprawione przy libinputpomocy systemowej bazy danych sprzętu.

Aktualny sposób

Zainstaluj imwheelza pomocą następującego polecenia lub z Centrum oprogramowania :

$ sudo apt-get install imwheel

Utwórz (jeśli to konieczne) i edytuj plik konfiguracyjny ~/.imwheelrcza pomocą dowolnego edytora (np gedit.). Wypełnij poniższe pola, aby zwiększyć prędkość przewijania dla każdego polecenia. Uwaga: ten plik konfiguracyjny zastosuje te nowe ustawienia przewijania do wszystkich programów (w tym terminala, co może nie być tym, czego chcesz).

".*"
None,       Up,     Up,     3
None,       Down,   Down,   3

Jeśli chcesz zastosować te ustawienia Chrome, na przykład, użyj tych ustawień zamiast:

".*-chrome*"
None,       Up,     Up,     3
None,       Down,   Down,   3

Jest 3to mnożnik przewijania, który zwiększa skuteczność kółka przewijania. W README projektu nazywa się to „REPS”. Readme stwierdza:

[REPS]

Powtórzenia (Powtórzenia) pozwalają podać liczbę określającą, ile razy chcesz nacisnąć klawisze wyjściowe. Zobacz tabelę domyślnych powiązań, aby zobaczyć domyślną liczbę powtórzeń dla każdej kombinacji modyfikatora (wykres znajduje się na końcu tego dokumentu).

Innymi słowy, jest to mnożnik przewijania. Jeśli REPSjest ustawiony na 3, oznacza to, że gdy kółko myszy wykona jedno polecenie przewijania, oprogramowanie przechwytuje to polecenie i wysyła 3 polecenia do komputera zamiast 1, dzięki czemu przewija się 3 razy dalej lub „szybciej”.

Aby uzyskać więcej informacji, zajrzyj również na stronę:

$ man imwheel

lub zapoznaj się z README projektu.

Możesz zacząć imwheelod wpisania:

$ imwheel

Upewnij się, że nie uruchomisz koła zębatego dwa razy! To znany błąd, ale możesz zatrzymać impulsu za pomocą polecenia:

$ killall imwheel

Aby imwheelautomatycznie uruchamiać się za każdym razem, gdy komputer się uruchamia , musisz dodać go do menu startowego PO załadowaniu X-Window. WAŻNE: ponieważ imwheel polega na tym, że x-Window już działa, NIE będzie działać, jeśli dodasz go do crontab, /etc/init.d lub /etc/rc.local. Oznacza to, że musisz to zrobić w ten sposób:

Ubuntu:
Użyj edytora GUI „Aplikacje startowe”, aby dodać imwheeljako program startowy: https://askubuntu.com/a/48327/327339

Xubuntu:
Użyj edytora GUI „Session and Startup” -> Autostart aplikacji -> Dodaj, aby dodać imwheeljako program startowy.

wprowadź opis zdjęcia tutaj

Więcej zrzutów ekranu tutaj: https://askubuntu.com/a/369443/327339 .

Przyszłość

Ten samouczek jest obecnie w fazie rozwoju.

libinputwydaje się być dołączony do Wily Werewolf (15.10), gdzie musisz zainstalować pakiet xserver-xorg-input-libinput. Po zainstalowaniu za libinputpomocą

$ sudo apt-get install xserver-xorg-input-libinput

należy go używać dla każdego wejścia po ponownym uruchomieniu Xorg (wystarczy wylogowanie). Teraz, gdy używasz, libinputmożesz dostosować ustawienia myszy. Pełny samouczek można znaleźć w pliku /lib/udev/hwdb.d/70-mouse.hwdb . Pozwól mi omówić tutaj tylko podstawy.

Należy wykonać następujące kroki jako root. Z tego powodu uprzejmie przypominam, że wszystko, czego potrzebujesz, jest odpowiedzialne.

Najpierw uzyskaj identyfikator dostawcy <vid>i identyfikator produktu <pid>za pomocą lsusb. Tutaj z przykładem myszy MX 518 Logitech. Jeśli masz następujący wiersz w danych wyjściowych lsusb.

Bus 005 Device 002: ID 046d:c051 Logitech, Inc. G3 (MX518) Optical Mouse

<vid>Znaczy 046di <pid>znaczy c051.

Następnie utwórz plik, który wygląda następująco: gksudo gedit /etc/udev/hwdb.d/71-mouse-local.hwdb

mouse:usb:v<vid>p<pid>:name:*:
    MOUSE_WHEEL_CLICK_ANGLE=??

Na przykład ten plik dla powyższego przykładu Logitech MX 518:

mouse:usb:v046dpc051:name:*:
    MOUSE_WHEEL_CLICK_ANGLE=30

Ten plik ustawia kąt kliknięcia kółkiem myszy na 30 ° (domyślnie jest to 15). Aby użyć tego ustawienia, zaktualizuj hwdb za pomocą następujących poleceń:

udevadm hwdb --update
udevadm trigger /dev/input/event${id}

Można dowiedzieć się, za ${id}pomocą xinput(sprawdź identyfikator myszy), a następnie uruchomić xinput list-props ${xinput_id}.

tvn
źródło
2
Zadziałało! Dzięki, chociaż jedyną rzeczą, na którą muszę narzekać, jest to, że używanie imwheelwyłącza funkcję przełączania między oknami, po prostu przewijając mysz nad ikonami w Unity Launcher.
Rodrigo Martins
2
Nie ma za co. Wczoraj sprawdziłem twój problem, jeśli potrzebujesz tylko zwiększonej prędkości koła w przeglądarce pdf, możesz ją zastąpić ".*", "Evince"jeśli używasz Evince. Następnie Unity-Launcher działa zgodnie z oczekiwaniami.
tvn
1
Czy liczby mogą spaść? Moje koło przewija się o wiele za szybko. Próba „1” zamiast „3” jest nadal zbyt szybka.
DarenW
6
Jest to zła, zrzędliwa, nie działająca metoda. W Nautilus zaznaczone pliki przeskakują o 3 linie w przód lub w tył zamiast przewijać. Przewija się, gdy dostajesz się „poza granice”, ale jest jak trzykrotne przesuwanie klawiatury w górę / w dół. To samo w wysublimowanym tekście i chyba w wielu innych programach. (Ubuntu 13.10)
redanimalwar
3
Czy ktoś miał już sukces z Futurerozwiązaniem? Próbowałem, ale nie udało mi się. Chciałbym wiedzieć, w jaki sposób można nawet dowiedzieć się, czy w MOUSE_WHEEL_CLICK_ANGLEogóle udało się go zmienić, ale nie wiem, jak sprawdzić jego aktualną wartość. Domyślny kąt zmienia się wraz z myszą btw., Jak widać w /usr/lib/udev/hwdb.d/70-mouse.hwdb, chociaż większość ma obecnie 15.
miyalys,
27

Zauważ, że użycie ~/.imwheelrczalecanej w zaakceptowanej odpowiedzi tak naprawdę nie zwiększa prędkości kółka przewijania. Zamiast tego zastępuje przewijanie kilkoma naciśnięciami klawiszy strzałek. Ma to tę wadę, że nie można przewijać okna, dopóki nie zmieni się na niego fokus, a nie zachowanie domyślne. Ta odpowiedź ma na celu zapewnienie alternatywy, która zachowuje się bliżej zachowania natywnego.

Aby dostarczyć zwięzłej odpowiedzi dla Ubuntu> 14.04 (łącząc odpowiedzi z @tvm i @redanimalwar z komentarzem z @ aroll605 ), wydaje się, że najlepszą opcją faktycznego zwiększenia prędkości kółka przewijania jest instalacjaimwheel

  1. sudo apt install imwheel(zamień na aptw apt-getzależności od systemu)

  2. gedit ~/.imwheelrc i wklej

    ".*"
    None,      Up,   Button4, 3
    None,      Down, Button5, 3
    Control_L, Up,   Control_L|Button4
    Control_L, Down, Control_L|Button5
    Shift_L,   Up,   Shift_L|Button4
    Shift_L,   Down, Shift_L|Button5
    

    gdzie powinieneś wypróbować różne wartości #w wierszach

    None,      Up,   Button4, #
    None,      Up,   Button5, #
    
  3. Aby przetestować ustawienia, użyj polecenia killall imwheel && imwheel -b "4 5"

  4. Otwórz aplikacje startowe i dodaj imwheel -b "4 5"

Zauważ, że użycie tej opcji -b "4 5"ogranicza koło zębate tylko do wpływu na kółko przewijania, omówione tutaj .

Steven C. Howell
źródło
Mój zwój jest naprawdę gwałtowny / opóźniony w tym
Wolf,
@Wolf, zamiast tego próbowałeś mniejszych wartości #? 2, 1lub nawet wartość dziesiętną, np. 0.5?
Steven C. Howell,
Tak. Wydaje się, że zacina się nawet przy niskich liczbach, na przykład jedno kliknięcie kółka przewija się trochę, a następnie przeskakuje resztę odległości. Usuwam program i wracam do gładkiej maślanki, po prostu nie wolę interwału przewijania. Myślę, że przydałoby się trochę dodać, co oznaczają liczby - rozwiązanie działało dla mnie najlepiej, biorąc pod uwagę 2wszystkie jąkanie.
Wolf,
Poleciłbym spróbować innej myszy, aby porównać zachowanie, nie jako rozwiązanie, ale w celu zawężenia źródła problemu. Jeśli inna mysz nadal przeskakuje, oznacza to, że w twojej konfiguracji jest określony problem; możesz to uczynić bardziej pewnym wnioskiem, testując na żywo CD, aby sprawdzić, czy coś się zmieniło od czasu instalacji. Jeśli druga mysz nie przeskakuje, oznacza to, że wybrana mysz nie jest dobrze obsługiwana w systemie Ubuntu; może możesz wyszukać innych ludzi za pomocą tej samej myszy i tego, co zrobili.
Steven C. Howell,
^ to zadziałało dla mnie
Jamie Hutber
27

// Edytować

Ponieważ pojawia się od czasu do czasu kilka pozytywnych opinii: nie używam już tego (z powodu lenistwa po ponownej instalacji) i teraz myślę, że ten skrypt suwak i inne rzeczy są zbyt duże. Z czasem ludzie zwracali na to uwagę. Więc jako minimalistyczny facet sam stworzyłem konfigurację. To prawdopodobnie jednorazowa rzecz dla większości ludzi.

I edytowane to być przewodnikiem 4 krok we wszystko, czego potrzebujemy.

I kolejna aktualizacja: odkąd przeszedłem na KDE, tak naprawdę ma to ustawienie i milion innych rzeczy, których Gnome nie ma (nawet nie zdawałem sobie sprawy, jak bardzo tęskniłem za KDE). Problem polega na tym, że ustawienia myszy KDE w rzeczywistości nie mają wpływu na Firefoksa (i inne aplikacje GTK, które zakładam), ale ponieważ moim głównym celem było przeglądanie stron internetowych, teraz odkryłem, że możesz naprawdę dostosować, ile myszy przewija się w samym Firefoksie .

about:config
mousewheel.default.delta_multiplier_y

Ustawiłem go na 600 i jest dla mnie idealny

// Zakończ edycję

Akceptowana odpowiedź ma konfigurację, która z dowolnego powodu mapuje przewijanie w górę i w dół na klawiaturze. Nie ma dla mnie sensu.

Ja znalazłem doskonały scenariusz , że faktycznie mapuje do myszy i dodaje GUI, aby ustawić szybkość myszy.

#!/bin/bash
# Version 0.1 Tuesday, 07 May 2013
# Comments and complaints http://www.nicknorton.net
# GUI for mouse wheel speed using imwheel in Gnome
# imwheel needs to be installed for this script to work
# sudo apt-get install imwheel
# Pretty much hard wired to only use a mouse with
# left, right and wheel in the middle.
# If you have a mouse with complications or special needs,
# use the command xev to find what your wheel does.
#
### see if imwheel config exists, if not create it ###
if [ ! -f ~/.imwheelrc ]
then

cat >~/.imwheelrc<<EOF
".*"
None,      Up,   Button4, 1
None,      Down, Button5, 1
Control_L, Up,   Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L,   Up,   Shift_L|Button4
Shift_L,   Down, Shift_L|Button5
EOF

fi
##########################################################

CURRENT_VALUE=$(awk -F 'Button4,' '{print $2}' ~/.imwheelrc)

NEW_VALUE=$(zenity --scale --window-icon=info --ok-label=Apply --title="Wheelies" --text "Mouse wheel speed:" --min-value=1 --max-value=100 --value="$CURRENT_VALUE" --step 1)

if [ "$NEW_VALUE" == "" ];
then exit 0
fi

sed -i "s/\($TARGET_KEY *Button4, *\).*/\1$NEW_VALUE/" ~/.imwheelrc # find the string Button4, and write new value.
sed -i "s/\($TARGET_KEY *Button5, *\).*/\1$NEW_VALUE/" ~/.imwheelrc # find the string Button5, and write new value.

cat ~/.imwheelrc
imwheel -kill

Jest też wideo, w którym jest przedstawiane. Nawet tego nie skończyłem, bo szybko to uruchomiłem. Aby zainstalować wymagane pakiety, pobrać skrypt i wykonać go dla nas:

sudo apt-get install -y imwheel
wget http://www.nicknorton.net/mousewheel.sh ~/bin/set-mousewheel
chmod +x ~/bin/set-mousewheel
~/bin/set-mousewheel

Ustaw prędkość koła na ładnym suwaku i ciesz się. Później po prostu zmień za pomocą set-mousewheelpolecenia.

Nie jestem pewien, czy imweel jest uruchamiany automatycznie po instalacji, w przeciwnym razie musimy dodać go do aplikacji startowych.

redanimalwar
źródło
2
Znakomite rzeczy! Skrypt nie działa od razu w systemie Ubuntu 14.04 LTS, ale jeśli wyjmę konfigurację bezpośrednio ze skryptu i wstawię ją do .imwheelrc, działa to jak urok.
aroll605
Wygląda na to, że jest w tym błąd 14.04 LTS. Czasami zatrzymywałoby to koło całkowicie, dopóki nie uruchomię ponownie procesu. Zdarza się tylko podczas rozruchu, a „imwheel” znajduje się na liście aplikacji startowych.
aroll605
1
Miałem problem polegający na tym, że kółko zębate zabija przyciski Wstecz / Dalej. Rozwiązaniem jest uruchomienie koła zębatego z opcjami imwheel -b "4 5"ograniczania go do kółka przewijania
jmiserez
To świetnie, ale nie można używać przycisków wstecz / do przodu
Jamie Hutber,
dobra praca nad mapowaniem, ale skrypt nie działał na moim ubuntu: polecenie zenity --scale --window-icon=info --ok-label=Apply --title="Wheelies" --text "Mouse wheel speed:" --min-value=1 --max-value=100 --value="$CURRENT_VALUE" --step 1zwróciło błąd: This option is not available. Please see --help for all possible usages.
Mobigital
14

Moje dwa centy: moja mysz Microsoft Sculpt Ergonomic przewijała około pół strony na raz na Ubuntu 15.04 (Lenovo ThinkPad x220), co naprawdę mnie denerwowało. Próbowałem różnych rozwiązań, ale ostatecznie wpadłem na pomysł, aby odłączyć mysz od portu USB (bezprzewodowy klucz sprzętowy) i ponownie go podłączyć. Voila! ... pojawiły się „normalne” prędkości przewijania :). Mam nadzieję, że komuś pomoże.

sammy34
źródło
4
Mam taką samą konfigurację i miałem ten sam problem i uzyskałem te same udane wyniki. Cieszę się, że przeczytałem tę odpowiedź przed wypróbowaniem innych. Dzięki @ sammy34
nic
2
To samo tutaj, ponowne podłączenie klucza sprzętowego rozwiązało go. Microsoft Wireless Mouse 2000
Omer Sabic,
1
Jak to może być rozwiązanie ???? ALE TO DZIAŁAło :) dzięki :)
Himanshu Bhandari
miał ten sam problem (microsoft Sculpt + ThinPad + Ubuntu 18.10) unpluggin und repuggin właśnie działało!
jvoigt
Wow, ten sam sukces z ponownym podłączeniem klucza Microsoft Arc. Ale dlaczego?
lkraav
9

Chociaż powyższe imwheelsugestie nieco pomogły, odkryłem, że usunięcie mechanicznego mechanizmu klikania przewijania znacznie uprzyjemnia korzystanie z kółka myszy - nie tylko usuwa kliknięcie, ale sprawia, że sterowanie nim jest szybsze i bardziej precyzyjne !

Zajęło to tylko 3 minuty - sprawdź te instrukcje:

http://www.instructables.com/id/Making-a-mouse-wheel-not-click./

W skrócie, usuwasz tę lewą sprężynę (uważaj, aby dokładnie przywrócić prawą sprężynę z powrotem na swoje miejsce):

wprowadź opis zdjęcia tutaj

Uwaga: Mam standardową, tanią mysz - Logitech B100, inni zgłaszają sukces w podobnych modelach. Twój przebieg może się różnić.

Jeff Ward
źródło
Znacznie łatwiejsze w użyciu xmodmap do wyłączenia środkowego przycisku myszy. (xmodmap .Xmodmap), gdzie plik .Xmodmap zawiera wiersz „wskaźnik = 1 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16”. Zero wyłącza środkowy przycisk. Uruchom xmodmap [path-to-your-.Xmodmap] przy uruchomieniu.
Harryg123
3

imwheel wyemituje zdarzenia podwójnego przewijania w chromie, co jest denerwujące

Dla i3wmi libinputużytkowników, proponuję libinput_patch , co daje wejście do zmiany przewijania delta w czasie rzeczywistym i jest o wiele lepiej w moim przypadku użycia

bilabila
źródło
0

Właśnie szukałem tego problemu, ponieważ po ponownym uruchomieniu moje kółko myszy stało się bardzo wolne. Po próbach rozwiązania go za pomocą różnych aplikacji (koło zębate, ...) po prostu odłączyłem go i podłączyłem ponownie i działało jak poprzednio. Więc jeśli prędkość zmienia się między restartami bez robienia czegokolwiek, warto spróbować.

SimonEritsch
źródło