287

Есть ли способ заставить колесо прокрутки мыши инвертировать его направление? Я хотел бы прокрутить вверх и сделать это действие прокрутить вниз и наоборот. На панели управления мышью нет настроек, которые делают это возможным.

Любые указатели на взломать или конкретную модель мыши, которая имеет такую настройку будет приветствоваться. Я использую Windows 7.

8 ответов8

371

Для этого существует параметр реестра 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 }
    
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
28

Вы также можете использовать приложение X-Mouse Button Control для этого. Вам нужно всего лишь установить кнопку "Вверх" на команду "Прокрутить окно вниз" и наоборот. Я использую это на Windows XP, но приложение также должно работать на 7 или Vista. Его очень быстро настроить, и, поскольку это приложение с графическим интерфейсом, его было проще использовать.

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

11

Поскольку комментарии эфемерны и им нельзя доверять, я публикую блестящий комментарий @ Jaykul на удивительный ответ Ричарда в качестве ответа здесь.

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

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

После запуска команды потребуется перезагрузка!

5

У меня есть мышь Microsoft, подключенная к MacBook с загрузочной камерой. Было легко запустить Mouse and Keyboard Center и установить [Wheel-> Reverse direction scroll]. Ирония, безусловно, играет здесь важную роль.

1

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

0

Для этого есть удобная утилита. У него есть побочное преимущество: вы можете прокручивать окно под мышью, не активируя его! Потрясающие!

http://antibody-software.com/web/software/software/wizmouse-makes-your-mouse-wheel-work-on-the-window-under-the-mouse/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .