Inverter a direção da roda de rolagem do mouse

291

Existe uma maneira de fazer uma roda de rolagem do mouse inverter sua direção? Gostaria de rolar para cima e fazer com que essa ação role para baixo e vice-versa. Não há nenhuma configuração no painel de controle do mouse que torne isso possível.

Qualquer ponteiro para um hack ou um modelo de mouse específico que tenha essa configuração seria apreciado. Estou usando o Windows 7.

Christian Correa
fonte
2
FTR para 2015. Com o Windows 8. O processo é precisamente o seguinte, com base na resposta de Richard, no ponto crítico de Pete e em alguma investigação! É 100% confiável em máquinas Windows 8, nada mais é necessário. (1) abra o PowerShell como administrador . {Para aqueles que estão migrando de um Mac: no Windows 8, passe o mouse para o canto inferior direito, abra a pesquisa, digite 'powershell' e inicie-o. Clique com o botão direito do mouse no ícone na barra de guias e mude para admin em execução.} Cont ...
Fattie
3
digite ... Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Enum \ HID \ * \ * \ Device` Parâmetros FlipFlopWheel -EA 0 | ForEach-Object {Set-ItemProperty $ _. PSPath FlipFlopWheel 1}
Fattie
2
depois insira .. Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Enum \ HID \ * \ * \ Device` Parâmetros FlipFlopHScroll -EA 0 | ForEach-Object {Set-ItemProperty $ _. PSPath FlipFlopHScroll 0}
Fattie
2
é extremamente difícil para entrar aqueles em comentários :)
Fattie

Respostas:

375

Há uma configuração de registro denominada FlipFlopWheelque faz isso!

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

Pode haver várias entradas do mouse. O valor padrão para FlipFlopWheeljá deve ser 0. Altere para 1 para inverter a rolagem. Reinicie ou reconecte o mouse para que as alterações entrem em vigor.

Para obter o VID_???número, você tem duas opções:

  1. Vá para o painel de controle do mouse, clique na guia Hardware e , em seguida, clique em Propriedades .

    Agora, na janela Propriedades do mouse compatível com HID, clique na guia Detalhes e selecione a propriedade Caminho da instância do dispositivo . O caminho do registro está lá. Você só precisa desconectar e conectar novamente o mouse para que isso tenha efeito.

  2. Execute isso no PowerShell (em Iniciar »Todos os programas» Acessórios »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 }
    

    O comando para rolagem normal (não invertida) possui 0e 1trocou:

    # Restore default scroll direction
    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 1 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 0 }
    
Richard
fonte
7
No Windows 8, há também uma configuração para "FlipFlopHScroll" que inverte a rolagem horizontal (especialmente útil para o Win8).
Pete Amundson
93
Não se preocupe com o que o ??? deve ser, basta executar isso no PowerShell:Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Jaykul 16/09
3
Como encontrar a chave de registro correta? A chave deve corresponder à identificação do hardware do seu mouse. Para descobrir isso: Painel de controle> Gerenciador de dispositivos> Mouses ...> mouse compatível com HID> clique com o botão direito do mouse> propriedades> Detalhes> Propriedade (suspensa) = Ids de hardware> você verá o ID na 1ª linha, que deve corresponder a um dos entradas no registro acima.
Marwan
4
Observe que o comando do PowerShell deve ser executado como administrador. É tudo o que você precisa fazer, basta entrar e definir a propriedade para cada VID _ ???.
22414 Nelson
7
Só queria observar que esse comando do PowerShell também funciona no Windows 10.
Bobby
64

Primeiro instale o AutoHotKey . Agora crie um script parecido com este:

$WheelUp::
Send {WheelDown}
Return

$WheelDown::
Send {WheelUp}
Return

Salve-o como um arquivo .ahk e clique duas vezes no arquivo para executá-lo. Agora você deve ter invertido a rolagem da roda do mouse.

Todas as informações daqui , embora tenham sido modificadas com a adição do prefixo $ para impedir que os comandos Send sejam capturados novamente pelo script (o que agrava o problema MaxHotkeysPerInterval)

Adicione o seguinte ao script para inverter a rolagem horizontal da roda:

$WheelLeft::
Send {WheelRight}
Return

$WheelRight::
Send {WheelLeft}
Return

A rolagem com a roda pode exceder o limite padrão de pressionamentos de teclas de atalho em um intervalo de tempo especificado. Por padrão, são 70 prensas de teclas de atalho (#MaxHotkeysPerInterval) por 2000 milissegundos (#HotkeyInterval). Adicione esta diretiva ao seu script para aumentar o limite de 70 para 200 pressionamentos de teclas de atalho por intervalo:

#MaxHotkeysPerInterval 200
Sharken
fonte
Vou tentar isso no trabalho e, se funcionar, vou marcar sua resposta como a resposta certa. Obrigado!
Christian Correa
Funciona bem. Não é perfeito, de vez em quando não capta o evento "chave", mas enquanto você continuar rolando, o próximo evento será capturado. O efeito líquido é o que eu estava procurando. Portanto, isso teria que ser feito por enquanto, até que os fabricantes tornem essa opção configurável no Windows. Obrigado!
Christian Correa
7
Existe uma opção no registro, conforme sugerido por Richard.
tig
Essa funciona melhor se sua política de acesso proibir a edição do registro. Boa ideia!
precisa saber é o seguinte
1
+1 Na minha instalação do Windows 7, essa foi a resposta que me permitiu inverter a rolagem horizontal.
21714 Chris Chiffhauer
29

Você também pode usar o aplicativo X-Mouse Button Control para fazer isso. Você só precisa definir o botão "Rodar para cima" como o comando "Scroll Window Down" e vice-versa. Estou usando isso no Windows XP, mas o aplicativo também deve funcionar no 7 ou no Vista. Foi muito rápido de configurar e, como é um aplicativo GUI, foi mais fácil de usar.

Dov
fonte
Instalei o X-Mouse Button Control no meu Windows 7 e a rolagem agora está invertida. Funciona perfeito. A mesma direção do meu Mac em casa com o OS X Lion.
Magnus
3
A v2.2 possui uma "rolagem invertida da roda do mouse" na guia "Rolagem e navegação".
Lars Truijens
17

Eu escrevi um pequeno aplicativo c # para alterar as configurações do registro para todos os dispositivos. Ele enumera todos os dispositivos e altera a configuração 'FlipFlopWheel' para 1 ou 0, dependendo de qual botão você pressionar.

a fonte completa está disponível no github, o código fonte que realmente altera a configuração do registro (<100 linhas) está aqui: https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/Form1 .cs

para aqueles que apenas querem 'fazer isso' aqui é o executável (solicita a elevação do UAC) https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/bin/Debug/FlipWheel.exe

Jamie Pate
fonte
4
As pessoas geralmente gostam de ler um pouco mais sobre seu aplicativo antes de baixar e executar um .exe;) Estenda sua resposta e escreva uma introdução adequada. Evite também adicionar seu link a outras respostas, a menos que você realmente sinta que melhora a resposta disponível.
Der Hochstapler
1
O cara forneceu o código-fonte para o executável, dificilmente é travesso se você se sentir inclinado a verificá-lo, basta olhar para ele, é um pequeno script. Obrigado pelo script @JamiePate, funcionou muito bem. Foi bom não ter que mexer com o registro.
Samayres1992 4/14
1
@ samayres1992 Ele acrescentou a informação adicional um dia depois de comentário original de Oliver ...
Bob
Obrigado Jamie! Percebo que ele filtra no hid.mousedevice inicialmente. Os ratos Pity Razer não parecem publicar como tal, felizmente, seu aplicativo permite mostrar todos os dispositivos de entrada. Só fica um pouco enigmática ...
Marius
Basta levantar um problema no github com a string do nome do dispositivo, vou adicioná-lo à lista de filtros inicial. (Eu só tenho um mouse da logitech que aparece como "@ msmouse.inf,% hid.mousedevice%; mouse compatível com HID", seria interessante ver o que outras marcas de dispositivos usam para essa string.
Jamie Pate
12

Como os comentários são efêmeros e não confiáveis, estou postando o brilhante comentário de @ Jaykul sobre a incrível resposta de Richard , como resposta aqui.

Execute o Powershell como administrador e copie / cole o seguinte comando para inverter o mouse, invertendo todas as FlipFlopWheelentradas no registro:

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

Uma reinicialização será necessária após o lançamento do comando!

Chris Cirefice
fonte
Isso funcionou como um encanto com o Bootcamp e o Windows 10!
Anytoe
5

Eu tenho um mouse da Microsoft conectado a um MacBook com bootcam. Foi fácil iniciar o Mouse and Keyboard Center e definir [Wheel-> Reverse scroll direction]. A ironia certamente desempenha um papel aqui.

Kenneth Laskoski
fonte
3
Apenas para maior clareza: o Mouse and Keyboard Center é fornecido com o hardware da Microsoft e não está relacionado aos Macs.
Louis
Obrigado Louis! Isso não deve ser esquecido.
Kenneth Laskoski
3
Essa configuração não parece ser recarregada após a reinicialização no Win8. A configuração é mostrada como quando você entra na caixa de diálogo. Mas ele precisa ser desligado e reativado.
Metro
Sim, atualizei recentemente para o Windows 8 e notei isso também. Acabei usando o método @ Richard.
Kenneth Laskoski
Observe que o atalho de @ Jaykul (de outra forma conveniente) pode não funcionar para todos. No meu caso, eu precisava inverter a roda no Windows nativo, mas às vezes abro o mesmo Windows no VirtualBox, que já cuida da entrada do mouse / teclado.
Kenneth Laskoski