Поворот напряму колеса прокрутки миші


291

Чи є спосіб змусити колесо прокрутки миші перевернути його напрямок? Я хотів би прокрутити вгору, щоб ця дія прокрутилася вниз і навпаки. На панелі керування миші немає налаштувань, які б це зробили можливим.

Будемо вдячні будь-які вказівки на хак або на конкретну модель миші, яка має таке налаштування. Я використовую Windows 7.


2
FTR за 2015 рік. З Windows 8. Процес полягає саме в наступному, грунтуючись на відповіді Річарда, критичній точці Піта та деякому розслідуванні! Він на 100% надійний на машинах Windows 8, більше нічого не потрібно. (1) виховувати PowerShell як адміністратора . {Для тих, хто переходить з Mac: у Windows 8, миші праворуч знизу, піднесіть пошук, введіть 'powerhell', запустіть його. Клацніть правою кнопкою миші на значку на панелі вкладок, перейдіть до запуску адміністратора.} Продовження ...
Fattie

3
введіть ... Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Enum \ HID \ * \ * \ Параметри пристрою FlipFlopWheel -EA 0 | ForEach-Object {Set-ItemProperty $ _. PSPath FlipFlopWheel 1}
Fattie

2
потім введіть .. Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Enum \ HID \ * \ * \ Параметри пристрою FlipFlopHScroll -EA 0 | ForEach-Object {Set-ItemProperty $ _. PSPath FlipFlopHScroll 0}
Fattie

2
надзвичайно важко вписати це в коментарі :)
Fattie

Відповіді:


375

Існує параметр реєстру з назвою, FlipFlopWheelщо робить це!

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

Може бути кілька записів миші. Значення за замовчуванням FlipFlopWheelмає бути вже 0. Змініть його на 1, щоб перевернути прокрутку. Перезавантажте або відключіть мишу, щоб зміни набрали чинності.

Щоб отримати VID_???номер, у вас є два варіанти:

  1. Перейдіть на панель керування миші, перейдіть на вкладку Обладнання , а потім натисніть Властивості .

    Тепер у вікні властивостей миші, сумісному з HID, перейдіть на вкладку « Деталі » та виберіть властивість « Шлях інстанції пристрою» . Шлях до реєстру є там. Вам потрібно лише від'єднатись від мережі та підключити мишу, щоб це вступило в силу.

  2. Запустіть це в PowerShell (з Пуск »Усі програми» Аксесуари »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 }
    

    Команда для звичайної (не перевернутої) прокрутки містить 0та 1заміняє:

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

7
У Windows 8 також є налаштування для "FlipFlopHScroll", яке перевертає горизонтальну прокрутку (особливо корисно для Win8).
Піт Амундсон

93
Не хвилюйтеся про те, що ??? Потрібно, просто запустіть це в PowerShell:Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Jaykul

3
Як знайти правильний ключ реєстру? Ключ повинен відповідати ідентифікатору обладнання вашої миші. Щоб побачити це: Панель управління> Диспетчер пристроїв> Миші ...> Миша, сумісна з HID> клацніть правою кнопкою миші> властивості> Деталі> Властивість (спадне меню) = Апаратні засоби> ви побачите ідентифікатор на 1-му рядку, він повинен відповідати одному з записи в реєстрі вище.
Марван

4
Зауважте, що команду PowerShell потрібно запустити як адміністратор. Це все, що вам потрібно зробити, але він просто входить і встановлює властивість для кожного VID _ ???
Нельсон

7
Просто хотів зазначити, що ця команда PowerShell дійсно працює і в Windows 10.
Боббі

64

Спочатку встановіть AutoHotKey . Тепер створіть сценарій, який виглядає приблизно так:

$WheelUp::
Send {WheelDown}
Return

$WheelDown::
Send {WheelUp}
Return

Збережіть його як .ahk-файл та двічі клацніть файл, щоб запустити його. Тепер вам слід було перевернути прокручування колеса миші.

Вся інформація звідси , хоча вона була змінена з додаванням префікса $, щоб запобігти повторному захопленню команд Send за допомогою сценарію (що посилює проблему MaxHotkeysPerInterval)

Додайте до сценарію таке, щоб перевернути горизонтальну прокрутку колеса:

$WheelLeft::
Send {WheelRight}
Return

$WheelRight::
Send {WheelLeft}
Return

Прокрутка за допомогою колеса може перевищити ліміт типових клавіш швидкої клавіші у визначений часовий інтервал. За замовчуванням це 70 натискань швидкої клавіші (#MaxHotkeysPerInterval) за 2000 мілісекунд (#HotkeyInterval). Додайте цю директиву до свого сценарію, щоб збільшити ліміт від 70 до 200 натискань швидкої клавіші за інтервал:

#MaxHotkeysPerInterval 200

Я спробую це на роботі, і якщо він працює, я позначу вашу відповідь правильною відповіддю. Дякую!
Крістіан Корреа

Чудово працює. Це не ідеально, раз у раз він не вловлює «ключову» подію, але поки ви продовжуєте прокручувати, наступна подія буде спіймана. Чистий ефект - це те, що я шукав. Так що це доведеться робити поки що, поки виробники не зроблять цю опцію, яку можна налаштувати в Windows. Дякую!
Крістіан Корреа

7
Існує варіант у реєстрі, як запропонував Річард.
тиг

Це найкраще працює, якщо ваша політика доступу забороняє редагувати реєстр. Чудова ідея!
mattmc3

1
+1 Для моєї установки Windows 7 ця відповідь дозволила мені інвертувати горизонтальну прокрутку.
Кріс Шиффхауер

29

Ви також можете використовувати додаток Керування кнопками X-Mouse для цього. Потрібно лише встановити кнопку «Прокрутка вгору» на команду «Прокручування вікна вниз», і навпаки. Я використовую це в Windows XP, але програма також повинна працювати на 7 або Vista. Це було дуже швидко налаштувати, і оскільки це програма GUI, було легше у використанні.


Я встановив управління X-Mouse Button на моїй Windows 7, і прокрутка тепер повернена назад. Працює ідеально. Такий же напрям, як і мій домашній Mac з OS X Lion.
Магнус

3
v2.2 має вкладку "Прокрутка та навігація" "перевернути колесо миші".
Lars Truijens

17

Я написав невеликий додаток c #, щоб змінити налаштування реєстру для всіх пристроїв. Він перераховує кожен пристрій і змінює налаштування 'FlipFlopWheel' на 1 або 0 залежно від того, яку кнопку ви натиснете.

повне джерело доступне на github, вихідний код, який насправді виконує налаштування реєстру (<100 рядків), знаходиться тут: https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/Form1 .cs

для тих, хто просто хоче "зробити це", тут є виконуваний файл (просить підвищити UAC) https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/bin/Debug/FlipWheel.exe


4
Люди зазвичай люблять прочитати трохи більше про вашу заявку, перш ніж завантажувати та запускати a .exe;) Будь ласка, продовжте свою відповідь та напишіть належне вступ. Будь ласка, утримуйтесь від простого додавання посилання на інші відповіді, якщо ви справді не відчуваєте, що це покращує відповідь.
Der Hochstapler

1
Хлопець надав вихідний код для виконуваного файлу, навряд чи це пустотливо, якщо ви схильні перевірити його, просто подивіться, це крихітний сценарій. Дякую за сценарій @JamiePate, він спрацював чудово. Приємно було не повозитися з реєстром.
samayres1992

1
@ samayres1992 Додаткову інформацію він додав через день після оригінального коментаря Олівера ...
Боб

Спасибі Джеймі! Я помічаю, що він фільтрує на hid.mousedevice спочатку. Миші Pity Razer не видаються такими, на щастя, ваш додаток дозволяє показувати всі пристрої введення. Просто стає трохи кричущим ...
Маріус

Просто підніміть проблему на github із рядком імені пристрою, я додам її до початкового списку фільтрів. (У мене є лише миша logitech, яка відображається як "@ msmouse.inf,% hid.mousedevice%; HID-сумісна миша", тому було б цікаво подивитися, які інші марки пристроїв використовують для цієї строки.
Jamie Pate

12

Оскільки коментарі є ефемерними і не довіряти, я відправляю @ блискучий коментар Jaykul в на дивовижну відповідь Річарда , як відповідь тут.

Запустіть Powershell в якості адміністратора, а потім скопіюйте / вставте наступну команду, щоб перевернути мишу, перевернувши всі FlipFlopWheelзаписи в реєстрі:

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

Після запуску команди знадобиться перезапуск!


Це спрацювало як шарм із Bootcamp та Windows 10!
Anytoe

5

У мене миша Microsoft прикріплена до завантаженого MacBook. Запустити Центр миші та клавіатури було легко та встановити [Колесо-> напрямок прокрутки назад]. Іронія, безумовно, тут відіграє певну роль.


3
Тільки для наочності: Центр миші та клавіатури постачається з обладнанням Microsoft і не пов'язаний з Macs.
Луї

Дякую, Луї! Це не можна не помітити.
Кеннет Ласкоскі

3
Здається, ця настройка не буде перезавантажена після перезавантаження в Win8. Налаштування відображається як увімкнено, коли ви переходите до діалогового вікна. Але його потрібно вимкнути, а потім знову ввімкнути, щоб знову включити.
Метро

Так, я нещодавно оновив до Windows 8 і помітив це теж. Я закінчився за допомогою методу @ Річарда.
Кеннет Ласкоскі

Зауважте, що (інакше зручне) ярлик @ Jaykul може працювати не для всіх. У моєму випадку мені потрібно було перевернути колесо в рідній Windows, але іноді я відкриваю ту саму Windows у VirtualBox, яка вже піклується про введення миші / клавіатури.
Кеннет Ласкоскі

1

Підтвердьте ще раз управління X-Mouse Button http://www.highrez.co.uk/downloads/XMouseButtonControl.htm - це чисте і ідеальне рішення для Windows 7 :)


1
Що робить його чистим та ідеальним? Чи можете ви підсумувати, що є на цій сторінці, щоб ваша відповідь все ж була корисною, якщо вона зміниться або стане недоступною? Прочитайте статтю довідки про відповіді .
Мойсей

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.