Odwrócenie kierunku kółka myszy

291

Czy istnieje sposób, aby kółko przewijania myszy odwróciło swój kierunek? Chciałbym przewinąć w górę i sprawić, by akcja przewinęła się w dół i odwrotnie. Brak panelu sterowania Myszy, który to umożliwia.

Wszelkie wskazówki dotyczące włamania lub konkretnego modelu myszy, który ma takie ustawienie, będą mile widziane. Korzystam z systemu Windows 7.

Christian Correa
źródło
2
FTR na rok 2015. W systemie Windows 8. Proces ten przebiega dokładnie w oparciu o odpowiedź Richarda, punkt krytyczny Pete'a i pewne dochodzenie! Jest w 100% niezawodny na komputerach z systemem Windows 8, nic więcej nie jest potrzebne. (1) uruchom PowerShell jako administrator . {Dla osób przechodzących z komputera Mac: w systemie Windows 8, kliknij prawym przyciskiem myszy w prawym dolnym rogu, uruchom wyszukiwanie, wpisz „powershell”, uruchom. Kliknij prawym przyciskiem myszy ikonę na pasku kart, przejdź do administratora uruchomionego.}
Cd
3
wprowadź ... Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Enum \ HID \ * \ * \ Device` Parametry FlipFlopWheel -EA 0 | ForEach-Object {Set-ItemProperty $ _. PSPath FlipFlopWheel 1}
Fattie
2
następnie wprowadź .. Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Enum \ HID \ * \ * \ Device` Parametry FlipFlopHScroll -EA 0 | ForEach-Object {Set-ItemProperty $ _. PSPath FlipFlopHScroll 0}
Fattie
2
bardzo trudno wpisać je w komentarzach :)
Fattie

Odpowiedzi:

375

Jest to ustawienie rejestru o FlipFlopWheeltej nazwie !

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_???\VID_???\Device Parameters.

Może być wiele pozycji myszy. Wartość domyślna dla FlipFlopWheelpowinna już wynosić 0. Zmień ją na 1, aby odwrócić przewijanie. Uruchom ponownie lub ponownie uruchom mysz, aby zmiany odniosły skutek.

Aby uzyskać VID_???numer, masz dwie opcje:

  1. Przejdź do panelu sterowania myszy, kliknij kartę Sprzęt , a następnie kliknij przycisk Właściwości .

    Teraz w oknie Właściwości myszy zgodnej z HID kliknij kartę Szczegóły i wybierz właściwość Ścieżka wystąpienia urządzenia . Ścieżka rejestru jest tam. Aby to zadziałało, wystarczy odłączyć i ponownie podłączyć mysz.

  2. Uruchom to w PowerShell (z Start »Wszystkie programy» Akcesoria »Windows PowerShell ):

    # View registry settings
    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0
    
    # Change registry settings
    # Reverse mouse wheel scroll FlipFlopWheel = 1 
    # Normal mouse wheel scroll FlipFlopWheel = 0 
    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
    

    Polecenie normalnego (nieodwróconego) przewijania ma 0i 1zamieniało:

    # Restore default scroll direction
    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 1 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 0 }
    
Richard
źródło
7
W Windows 8 jest także ustawienie „FlipFlopHScroll”, które odwraca przewijanie w poziomie (szczególnie przydatne w Win8).
Pete Amundson,
93
Nie martw się o co ??? powinno być, po prostu uruchom to w PowerShell:Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Jaykul
3
Jak znaleźć odpowiedni klucz rejestru? Klucz musi pasować do identyfikatora sprzętowego myszy. Aby to znaleźć: Panel sterowania> Menedżer urządzeń> Myszy ...> Mysz zgodna z HID> kliknij prawym przyciskiem myszy> właściwości> Szczegóły> Właściwość (menu rozwijane) = Identyfikatory sprzętowe> zobaczysz identyfikator w 1. linii, powinien on być zgodny z jednym z wpisy w rejestrze powyżej.
Marwan
4
Zauważ, że polecenie PowerShell musi być uruchomione jako administrator. To wszystko, co musisz zrobić, po prostu wchodzi i ustawia właściwość dla każdego VID _ ???.
Nelson
7
Chciałem tylko zauważyć, że to polecenie PowerShell rzeczywiście działa również w systemie Windows 10.
Bobby
64

Najpierw zainstaluj AutoHotKey . Teraz utwórz skrypt, który wygląda następująco:

$WheelUp::
Send {WheelDown}
Return

$WheelDown::
Send {WheelUp}
Return

Zapisz go jako plik .ahk i kliknij dwukrotnie plik, aby go uruchomić. Teraz powinieneś odwrócić przewijanie kółka myszy.

Wszystkie informacje stąd , choć zostały zmodyfikowane przez dodanie przedrostka $, aby zapobiec przechwyceniu poleceń Send przez skrypt (co zaostrza problem MaxHotkeysPerInterval)

Dodaj do skryptu następujące elementy, aby odwrócić przewijanie kół w poziomie:

$WheelLeft::
Send {WheelRight}
Return

$WheelRight::
Send {WheelLeft}
Return

Przewijanie za pomocą kółka może przekraczać domyślny limit naciśnięć klawiszy skrótu w określonym przedziale czasu. Domyślnie jest to 70 naciśnięć klawiszy skrótu (#MaxHotkeysPerInterval) na 2000 milisekund (#HotkeyInterval). Dodaj tę dyrektywę do skryptu, aby zwiększyć limit z 70 do 200 naciśnięć skrótu na interwał:

#MaxHotkeysPerInterval 200
Sharken
źródło
Wypróbuję to w pracy i jeśli to zadziała, oznaczę twoją odpowiedź jako prawidłową. Dzięki!
Christian Correa,
Działa świetnie. Nie jest idealny, od czasu do czasu nie łapie zdarzenia „kluczowego”, ale dopóki przewijasz, przechwycone zostanie następne zdarzenie. Efekt netto był tym, czego szukałem. Tak by było na razie, dopóki producenci nie skonfigurują tej opcji w systemie Windows. Dzięki!
Christian Correa,
7
Istnieje opcja rejestracji, jak sugeruje Richard.
tig
Ten działa najlepiej, jeśli twoja polityka dostępu zabrania edycji rejestru. Świetny pomysł!
mattmc3
1
+1 Dla mojej instalacji Windows 7 była to odpowiedź, która pozwoliła mi odwrócić przewijanie w poziomie.
Chris Schiffhauer
29

Aby to zrobić, możesz także użyć aplikacji X-Mouse Button Control . Trzeba tylko ustawić przycisk „Kółko do góry” na polecenie „Przewiń okno w dół” i odwrotnie. Używam tego w systemie Windows XP, ale aplikacja powinna również działać na systemie Windows 7 lub Vista. Konfiguracja była bardzo szybka, a ponieważ jest to aplikacja GUI, była łatwiejsza w użyciu.

Dow
źródło
Zainstalowałem X-Mouse Button Control na Windows 7 i przewijanie jest teraz odwrócone. Działa idealnie. Taki sam kierunek jak mój domowy Mac z OS X Lion.
Magnus
3
Wersja 2.2 ma „przewijanie kółka myszy” na karcie „Przewijanie i nawigacja”.
Lars Truijens
17

Napisałem małą aplikację c #, aby zmienić ustawienia rejestru dla wszystkich urządzeń. Wymienia każde urządzenie i zmienia ustawienie „FlipFlopWheel” na 1 lub 0 w zależności od tego, który przycisk zostanie naciśnięty.

pełne źródło jest dostępne na github, kod źródłowy, który faktycznie zmienia ustawienia rejestru (<100 linii) znajduje się tutaj: https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/Form1 .cs

dla tych, którzy chcą „załatwić sprawę” tutaj jest plik wykonywalny (prosi o podniesienie kontroli konta użytkownika) https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/bin/Debug/FlipWheel.exe

Jamie Pate
źródło
4
Ludzie zazwyczaj lubią poczytać trochę więcej o twojej aplikacji przed pobraniem i uruchomieniem .exe;) Przedłuż odpowiedź i napisz odpowiednie wprowadzenie. Proszę również powstrzymać się od dodawania linku do innych odpowiedzi, chyba że naprawdę uważasz, że poprawia to odpowiedź.
Der Hochstapler
1
Facet dostarczył kod źródłowy pliku wykonywalnego, nie jest to złośliwe, jeśli masz ochotę to sprawdzić, wystarczy spojrzeć na to, to mały skrypt. Dzięki za skrypt @JamiePate, działał świetnie. Miło było nie majstrować przy rejestrze.
samayres1992
1
@ samayres1992 Dodał dodatkowe informacje dzień po oryginalnym komentarzu Olivera ...
Bob
Dzięki Jamie! Zauważyłem, że początkowo filtruje na hid.mousedevice. Myszy Pity Razer nie wydają się publikować jako takie, na szczęście Twoja aplikacja pozwala wyświetlać wszystkie urządzenia wejściowe. Po prostu robi się trochę tajemniczy ...
Marius
Wystarczy podnieść problem na github z ciągiem nazwy urządzenia, dodam go do początkowej listy filtrów. (Mam tylko mysz Logitech, która wyświetla się jako „@ msmouse.inf,% hid.mousedevice%; Mysz zgodna z HID”, więc byłoby ciekawe zobaczyć, jakie marki innych urządzeń używają dla tego ciągu.
Jamie Pate
12

Ponieważ komentarze są efemeryczne i nie można im ufać, zamieszczam genialny komentarz @ Jaykul na niesamowitą odpowiedź Richarda jako odpowiedź tutaj.

Uruchom program Powershell jako administrator, a następnie skopiuj / wklej następujące polecenie, aby odwrócić mysz, odwracając wszystkie FlipFlopWheelwpisy w rejestrze:

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }

Po uruchomieniu polecenia wymagane będzie ponowne uruchomienie!

Chris Cirefice
źródło
To działało jak urok w Bootcamp i Windows 10!
Anytoe,
5

Mam mysz Microsoft podłączoną do bootcamped MacBook. Łatwo było uruchomić Centrum myszy i klawiatury i ustawić [Koło-> Odwróć kierunek przewijania]. Ironia z pewnością odgrywa tutaj rolę.

Kenneth Laskoski
źródło
3
Dla jasności: Centrum myszy i klawiatury jest dostarczane ze sprzętem Microsoft i nie jest powiązane z komputerami Mac.
Louis,
Dziękuję Louis! Nie można tego przeoczyć.
Kenneth Laskoski
3
To ustawienie nie wydaje się być ponownie ładowane po ponownym uruchomieniu w Win8. Ustawienie jest wyświetlane jako włączone po przejściu do okna dialogowego. Ale należy go wyłączyć, a następnie włączyć ponownie, aby ponownie włączyć.
Metro
Tak, niedawno zaktualizowałem system do Windows 8 i też to zauważyłem. Skończyło się na metodzie @ Richarda.
Kenneth Laskoski
Pamiętaj, że skrót @ Jaykul (poza tym wygodny) może nie działać dla wszystkich. W moim przypadku musiałem odwrócić koło w natywnym systemie Windows, ale czasami otwieram to samo okno w VirtualBox, który już zajmuje się wprowadzaniem myszy / klawiatury.
Kenneth Laskoski