web-dev-qa-db-fra.com

Inverser le sens de la molette de la souris

Existe-t-il un moyen d’inverser la direction d’une molette de la souris? Je voudrais faire défiler vers le haut et avoir cette action défiler vers le bas et vice-versa. Cela n’est pas possible dans le panneau de configuration de la souris.

Tous les pointeurs vers un hack ou un modèle de souris particulier qui possède un tel paramètre seraient appréciés. J'utilise Windows 7.

290
Christian Correa

Il existe un paramètre de registre nommé FlipFlopWheel qui le fait!

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

Il peut y avoir plusieurs entrées de souris. La valeur par défaut de FlipFlopWheel devrait déjà être 0. Remplacez-la par 1 pour inverser le défilement. Redémarrez ou reconnectez la souris pour que les modifications prennent effet.

Pour obtenir le numéro VID_???, vous avez deux options:

  1. Accédez au panneau de commande de la souris, cliquez sur l'onglet Matériel , puis cliquez sur Propriétés .

    Maintenant, dans la fenêtre Propriétés de la souris compatible HID cliquez sur l'onglet Détails et sélectionnez la propriété Chemin de l'instance de périphérique . Le chemin du registre est dedans. Vous devez simplement débrancher et reconnecter votre souris pour que cela prenne effet.

  2. Exécutez-le dans PowerShell (à partir de Démarrer »Tous les programmes» Accessoires »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 }
    

    La commande pour le défilement normal (non inversé) a le 0 et le 1 échangés:

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

Première installation AutoHotKey . Maintenant, créez un script qui ressemble à ceci:

$WheelUp::
Send {WheelDown}
Return

$WheelDown::
Send {WheelUp}
Return

Enregistrez-le en tant que fichier .ahk et double-cliquez sur le fichier pour l'exécuter. Vous devriez maintenant avoir inversé le défilement de la molette de la souris.

Toutes les informations de ici , bien qu’elles aient été modifiées avec l’ajout du préfixe $ afin d’empêcher que les commandes Send ne soient à nouveau capturées par le script (ce qui aggrave le problème MaxHotkeysPerInterval).

Ajoutez ce qui suit au script pour inverser le défilement horizontal:

$WheelLeft::
Send {WheelRight}
Return

$WheelRight::
Send {WheelLeft}
Return

Faire défiler à l'aide de la molette peut dépasser la limite par défaut des raccourcis clavier utilisés dans un intervalle de temps spécifié. Par défaut, il s'agit de 70 appuis clavier (#MaxHotkeysPerInterval) par 2 000 millisecondes (#HotkeyInterval). Ajoutez cette directive à votre script pour augmenter la limite de 70 à 200 appuis clavier par intervalle:

#MaxHotkeysPerInterval 200
64
Sharken

Vous pouvez également utiliser l'application X-Mouse Button Control pour ce faire. Il vous suffit de régler le bouton "Wheel Up" sur la commande "Scroll Window Down", et inversement. J'utilise ceci sur Windows XP, mais l'application devrait fonctionner sur 7 ou Vista également. L'installation a été très rapide et, puisqu'il s'agit d'une application graphique, il était plus facile à utiliser.

28
Dov

J'ai écrit une petite application c # pour modifier les paramètres du registre pour tous les périphériques. Il énumère tous les périphériques et modifie le paramètre 'FlipFlopWheel' en 1 ou 0 en fonction du bouton sur lequel vous appuyez.

la source complète est disponible sur github, le code source qui fait basculer le paramètre de registre (<100 lignes) est ici: https://github.com/jamie-pate/flipflop-windows-wheel/blob/master /Form1.cs

pour ceux qui veulent juste "y arriver", voici l'exécutable (demande l'élévation de l'UAC) https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/bin/Debug/FlipWheel. EXE

17
Jamie Pate

Parce que les commentaires sont éphémères et qu’il ne faut pas leur faire confiance, je publie @ le commentaire brillant de Jaykul sur la réponse géniale de Richard , comme réponse ici.

Exécutez Powershell en tant qu'administrateur, puis copiez/collez la commande suivante pour inverser la souris en inversant toutes les entrées FlipFlopWheel du registre:

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

Un redémarrage sera nécessaire après le lancement de la commande!

12
Chris Cirefice

J'ai une souris Microsoft connectée à un MacBook équipé de boot. Il était facile de lancer Mouse and Keyboard Center et de définir [Roulette-> Inverser le sens du défilement]. L'ironie joue certainement un rôle ici.

5
Kenneth Laskoski

Confirmez à nouveau le bouton de contrôle X-Mouse http://www.highrez.co.uk/downloads/XMouseButtonControl.htm est une solution propre et parfaite sous Windows 7 :)

Il existe également un utilitaire pratique pour cela. Cela présente l'avantage de vous permettre de faire défiler la fenêtre sous la souris sans l'activer! Impressionnant!

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

0
Ryan_S