Jak przewijać ekran za pomocą środkowego kliknięcia?

31

W systemie Windows większość programów z dużymi, przewijalnymi kontenerami tekstowymi (np. Wszystkie przeglądarki, większość edytorów tekstu i IDE) pozwala nacisnąć środkowy przycisk myszy, a następnie przesunąć mysz, aby przewijać. To przewijanie jest płynne i umożliwia bardzo szybkie przewijanie za pomocą myszy.

Kiedy korzystałem z Linuksa na laptopach , przewijanie dwoma palcami wykonuje w przybliżeniu tę samą funkcję; przewijanie strony jest łatwe (znacznie szybciej niż można to zrobić, przewijając kółko myszy), ale przewijanie pozostaje na tyle płynne, aby umożliwić precyzyjne pozycjonowanie.

Nie jestem pewien, jak osiągnąć to samo, uruchamiając Linuksa na pulpicie za pomocą myszy. O ile mogę stwierdzić po całej grupie Googlingu, nie ma ani ustawień specyficznych dla aplikacji, które można by zmienić na zachowanie środkowego przycisku myszy w stylu Windows, ani żadnych ustawień ogólnosystemowych, aby osiągnąć ten sam efekt.

Żeby to konkretnie powiedzieć, powiedzmy - jeśli jest to istotne - że pytam w kontekście Firefoksa, Google Chrome, Gedit i Eclipse w najnowszej wersji Mint (co używam w domu) lub Ubuntu (co używam w pracy). Podejrzewam jednak, że jest to dość dość agresywne i agnostyczne pytanie.

O ile wiem, moje opcje przewijania to:

  • Przewiń kółkiem myszy - powoli!
  • Użyj klawiszy PgUp / PgDn - przeskakuje na dużą odległość jednocześnie, więc nie można go użyć do precyzyjnego pozycjonowania i jest mniej wygodny niż używanie myszy
  • Przeciągnij pasek przewijania po prawej stronie ekranu w górę i w dół, jak to robiłem na starych komputerach z systemem Windows za pomocą myszy z dwoma przyciskami. Tak robię w praktyce, ale jest to po prostu mniej wygodne niż przewijanie środkowej myszy w stylu Windows; na ogromnym ekranie panoramicznym zajmuje mi większość sekundy, aby przesunąć kursor ze środka ekranu do paska przewijania, i większość sekundy, aby przesunąć go z powrotem, i muszę oderwać wzrok od treści przewijam, żeby to zrobić.

Żadne z nich mnie nie satysfakcjonuje! Ten problem z interfejsem jest jedyną rzeczą, która zatruwa moją przyjemność korzystania z Linuksa na komputerach stacjonarnych i prawie sprawia, że ​​żałuję, że nie korzystam z touchpada zamiast myszy. Irytuje mnie wystarczająco, że doszedłem do wniosku, że albo brakuje mi podstawowej funkcji interfejsu użytkownika systemu Linux, która rozwiązuje ten problem, albo jestem po prostu nadwrażliwym dziwakiem i nie przeszkadza to nikomu innemu - ale nie jestem pewien, który .

Więc moje pytania to:

  1. Czy przewijanie środkowego przycisku myszy w stylu Windows istnieje gdziekolwiek w świecie Linuksa, czy naprawdę jest to wyłącznie kwestia Windows? W szczególności, czy jakieś przeglądarki systemu Linux umożliwiają korzystanie z przewijania w stylu Windows?
  2. Czy są jakieś mechanizmy przewijania stron, które istnieją w systemie Linux, ale nie w systemie Windows, zwłaszcza te, które pełnią rolę, którą opisałem?
  3. Jakieś inne rozwiązania, których mi brakuje?
Mark Amery
źródło
1
Nazywasz „przytrzymywanie środkowej myszy i poruszanie myszą” „przewijanie w stylu Windows”, ale nigdy nie wiedziałem, że było w tym coś specyficznego dla Windows. Właściwie nie miałem pojęcia, co rozumiesz przez „styl Windows”, zanim dokładnie przeczytałem twoje pytanie. Możesz zredagować swoje pytanie, aby użyć bardziej pouczającego terminu, ponieważ wątpię, aby wiele osób na tej stronie wiedziało, co masz na myśli. O ile pamiętam, było to dość standardowe zachowanie nawet w systemie Linux - to prawdopodobnie kwestia konfiguracji myszy i tego, czy przytrzymanie kółka myszy rejestruje się jako środkowy przycisk myszy.
jw013,
1
@ jw013 Nigdy nie widziałem instalacji Linuksa, w której istniało takie zachowanie; środkowy przycisk myszy zawsze wydaje się po prostu Wklej, a Googling sugeruje, że nie ma sposobu, aby wyłączyć zachowanie wklejania środkowej myszy (co oznacza, że ​​nie ma sposobu, aby włączyć zachowanie przewijania środkowej myszy - ale nie jestem pewien, co to jest dlaczego zapytałem tutaj).
Mark Amery
1
@ jw013 BTW, jeśli możesz zasugerować bardziej oświecający termin, użyję go, ale o ile wiem, to zachowanie nie ma właściwej / oficjalnej nazwy i nie mogę wymyślić zwięzłej i jasnej nazwy, która mogłaby go nadać - która jest dlaczego opisałem to dokładnie w moim pierwszym akapicie.
Mark Amery
Jakiś czas temu przestawiłem się na mysz trackball bez kółka przewijania, więc wszystko to przypomina. Prawdopodobnie nazwałbym to „przewijaniem środkowej myszy”. Jeśli dobrze pamiętam, wklejanie uruchamiane jest tylko jednym kliknięciem, przewijanie nastąpiło, jeśli przytrzymałeś przycisk i przesunąłeś mysz. Mogłem mieć w sobie pewne ustawienia, xorg.confktóre pomogły (staram się kopiować moje stare xorg.confdostosowania do nowych instalacji, więc nie pamiętam dokładnie). Jeśli używasz GNOME, spróbuj przejrzeć preferencje myszy i sprawdź, czy coś tam jest.
jw013,
@ MarkAmery Na wypadek, gdybyś tego jeszcze nie znalazł, zobacz odpowiedź Gillesa na podobne pytanie. Metoda opisana przez Gillesa umożliwi emulację kółka przewijania we wszystkich aplikacjach X.Org, nie tylko Firefox.
Arkanon

Odpowiedzi:

31

Funkcja, o której mówisz, nazywa się Automatyczne przewijanie . Umożliwia naciśnięcie i przytrzymanie środkowego przycisku myszy oraz poruszanie myszą w celu płynnego przewijania. W Linuksie domyślne zachowanie dla tej akcji (naciśnięcie środkowego przycisku myszy) jest zwykle używane do wklejania tekstu.

W Firefoksie jest jednak ustawienie preferencji i rozszerzenie dla Chrome / Chromium, które pozwala używać środkowego przycisku myszy do przewijania i aktywowania tej funkcji.

Firefox

  • Otwórz okno dialogowe Preferencje: EditMenu >> Preferences.
  • Przejdź do AdvancedTab, a następnie GeneralTab.
  • Poniżej Browsingznajdziesz opcję o nazwie Use autoscrolling. Obok tego zaznacz pole wyboru, aby aktywować tę funkcję w przeglądarce Firefox.

    Preferencje Firefoksa

Chrome / Chromium

W przypadku Chrome / Chromium możemy użyć rozszerzenia o nazwie AutoScroll (z kaescripts.blogspot.com) .

  • Przejdź do tego linku w Chrome Web Store (oczywiście używając Chrome / Chromium).
  • Naciśnij przycisk oznaczony, ADD TO CHROMEaby zainstalować to rozszerzenie.

    Rozszerzenie Chrome

  • Kliknij Addw oknie dialogowym Potwierdzenie.

Inne aplikacje

Jeśli chodzi o inne aplikacje, nie znalazłem jeszcze dla nich rozwiązania. Tak czy inaczej, to wysokie strony internetowe, które powodują większość problemów, dla których zarówno Firefox, jak i Chrome / Chromium mają rozwiązanie.

Miłego przewijania!

Aditya
źródło
1
Niesamowite. Jutro wypróbuję rozszerzenia w pracy, a następnie zaakceptuję tę odpowiedź. Jestem już dość przekonany, że dla większości innych aplikacji po prostu nie ma rozwiązania.
Mark Amery
@MarkAmery: Tak ... Dla mnie jest to najbardziej denerwująca rzecz w Linuksie ... Nadal denerwuje mnie w jednym z moich folderów, który zawiera wiele plików ... W przeciwnym razie, jak powiedziałem, ta funkcja jest najbardziej użyteczna dla stron internetowych, dla których mamy rozwiązanie pod ręką ... :)
Aditya
2
To działa! Tak! :)
Mark Amery
Zabawne, że nie działa na niektórych stronach internetowych takich jak on https://chrome.google.com/webstore/category/apps?hl=ensam.
dashy
1
To jest lepsza odpowiedź i należy ją zaakceptować: unix.stackexchange.com/a/421672/115227
jtolds
8

Będzie to działać ze wszystkimi twoimi aplikacjami bez potrzeby instalowania czegokolwiek.

Uzyskaj identyfikator urządzenia wejściowego. W moim przypadku (Logitech M315 / M235) było 11.

xinput list

Jeśli chcesz, wyświetl listę dostępnych właściwości za pomocą xinput list-props <deviceID>. Jeśli używasz libinput (przyszłość / teraźniejszość), prawie wszystkie właściwości zaczynają się od libinput . Dla evdevsprawdzenia moją odpowiedź tutaj .

Zlibinput :

Ustaw właściwości myszy

xinput set-prop 11 "libinput Scroll Method Enabled" 0, 0, 1  # This is button
xinput set-prop 11 "libinput Button Scrolling Button" 2      # This is middle mouse. Already 2 by default

Opis od man libinput:

  • libinput Scroll Method Enabled 3 wartości logiczne (8 bitów, 0 lub 1), w kolejności „dwa palce”, „krawędź”, „przycisk”. Wskazuje, która metoda przewijania jest obecnie włączona w tym urządzeniu.
  • libinput Przycisk Przycisk przewijania 1 32-bitowa wartość. Ustawia numer przycisku używanego do przewijania przycisków. To ustawienie jest niezależne od metody przewijania, aby można było przewijać przyciskami, należy ustawić przewijanie przycisków i ustawić prawidłowy przycisk.

  • Możesz dodać to do skryptu bash i uruchomić przy logowaniu.
  • Podobnie jak kółko, ten sam ruch podczas naciskania Ctrlspowoduje powiększenie / zmniejszenie strony. Ctrl+0zresetować.
  • Ta praca z X. Z Waylandem może być inna historia.
Pablo A.
źródło
„Bo evdev[zrób jedną rzecz. Z libinput: [zrób inną rzecz].” Skąd mam wiedzieć, który z nich dotyczy mnie? Nigdy nie słyszałem o tym przed przeczytaniem tej odpowiedzi.
Mark Amery
@MarkAmery Nie znam prostego sposobu, moduł jądra ( modinfo $(lsmod|grep -iE "input" | col1)) tego nie pokazuje . Ale po uzyskaniu identyfikatora urządzenia i właściwości listy, jeśli używasz libinputprawie wszystkich właściwości, rozpocznie się od tego słowa. Również będziesz mieć xserver-xorg-input-libinputzainstalowany pakiet, libinput-list-devicespolecenie wyświetli listę twojego urządzenia (na pewno włączone /proc/bus/input/devices). Jeśli używasz X, znajdziesz więcej informacji na temat diggin /usr/share/X11/xorg.conf.d/.
Pablo A
2
To lepsza odpowiedź i należy ją zaakceptować.
jtolds,
Próbowałem tego i okazało się, że nie tylko nie działa we wszystkich aplikacjach, ale także w tych, w których działa, jest bardzo hackerski i wcale nie przypomina systemu Windows.
Marc.2377,