Vous avez une magnifique souris d’ordinateur fonctionnant à merveille, si ce n’est qu’elle s’est subitement mise à faire des doubles-clics intempestifs et que cela devient vite rageant d’avoir une souris qui double-clique à tort et à travers ?
Vous voulez réparer votre souris mais vous n’y connaissez rien en bricolage ?
Ne bougez pas, j’ai la solution pour réparer de manière logicielle votre souris faisant des doubles-clics intempestifs !
Plutôt que de démonter votre mulot pour espérer changer les contacteurs défectueux à l’origine du problème de votre souris, il existe deux solutions logicielles à votre problème :
Première solution : désinstaller les pilotes du constructeur de votre souris, et utiliser les drivers par défaut de Microsoft
En effet, paradoxalement, Logitech et la plupart des constructeurs de matériel n’ont pas pris en compte cette éventualité dans leurs pilotes (peut-être pour que vous leur rachetiez une souris ?), alors que les pilotes par défaut de Windows ne prennent pas en compte les clics bien trop rapprochés et les éliminent.
Il suffit donc de désinstaller ces pilotes et d’utiliser les pilotes de souris normaux de Microsoft.
Deuxième solution : utiliser AutoHotKey avec un script spécifique
AutoHotKey est un logiciel libre et gratuit permettant de réaliser toutes sortes d’actions sur son ordinateur. Installez ce logiciel, puis utilisez le script suivant, dont voici le contenu :
RegRead minDelay, HKCU, Software\MouseDebouncer, MinDelay
if ErrorLevel
minDelay := 100 ; Default setting.
#NoTrayIcon ; Hide initial icon.
Menu Tray, Icon, %A_WinDir%\System32\main.cpl ; Set icon.
Menu Tray, Icon ; Show icon.
Menu Tray, NoStandard
Menu Tray, Add, &Configure, TrayConfigure
Menu Tray, Add, E&xit, TrayExit
Menu Tray, Default, &Configure
Menu Tray, Click, 1 ; Single-click to configure.
Menu Tray, Tip, Mouse Debouncer
~LButton::
; Do nothing at all -- click has not been blocked. This hotkey has
; already achieved its purpose by causing A_PriorHotkey etc to be set.
return
#If A_PriorHotkey != "" && A_TimeSincePriorHotkey < minDelay LButton:: SoundPlay *-1 ; Play a sound to indicate the click has been blocked. return TrayConfigure: prompt := "Enter the minimum time between clicks, in milliseconds.`n" . "Any double-clicks faster than this will be blocked." Loop { InputBox newMinDelay, Mouse Debouncer, %prompt%,,,,,,,, %minDelay% if ErrorLevel ; Cancelled? return if (newMinDelay+0 >= 10 && newMinDelay <= 1000) ; Valid?
break
if (A_Index = 1)
prompt .= "`n`nPlease enter a number between 10 and 1000."
}
minDelay := newMinDelay
if (minDelay = 100)
RegDelete HKCU, Software\MouseDebouncer
else
RegWrite REG_DWORD, HKCU, Software\MouseDebouncer, MinDelay, %minDelay%
return
TrayExit:
ExitAppRegRead minDelay, HKCU, Software\MouseDebouncer, MinDelay
if ErrorLevel
minDelay := 100 ; Default setting.
#NoTrayIcon ; Hide initial icon.
Menu Tray, Icon, %A_WinDir%\System32\main.cpl ; Set icon.
Menu Tray, Icon ; Show icon.
Menu Tray, NoStandard
Menu Tray, Add, &Configure, TrayConfigure
Menu Tray, Add, E&xit, TrayExit
Menu Tray, Default, &Configure
Menu Tray, Click, 1 ; Single-click to configure.
Menu Tray, Tip, Mouse Debouncer
~LButton::
; Do nothing at all -- click has not been blocked. This hotkey has
; already achieved its purpose by causing A_PriorHotkey etc to be set.
return
#If A_PriorHotkey != "" && A_TimeSincePriorHotkey < minDelay
LButton::
SoundPlay *-1 ; Play a sound to indicate the click has been blocked.
return
TrayConfigure:
prompt := "Enter the minimum time between clicks, in milliseconds.`n"
. "Any double-clicks faster than this will be blocked."
Loop
{
InputBox newMinDelay, Mouse Debouncer, %prompt%,,,,,,,, %minDelay%
if ErrorLevel ; Cancelled?
return
if (newMinDelay+0 >= 10 && newMinDelay <= 1000) ; Valid?
break
if (A_Index = 1)
prompt .= "`n`nPlease enter a number between 10 and 1000."
}
minDelay := newMinDelay
if (minDelay = 100)
RegDelete HKCU, Software\MouseDebouncer
else
RegWrite REG_DWORD, HKCU, Software\MouseDebouncer, MinDelay, %minDelay%
return
TrayExit:
ExitApp
Copiez cela dans un fichier texte et renommez-le en Souris.ahk, et double-cliquez dessus : le script se lance, et permet d’ignorer les doubles-clics en dessous d’une certaine durée. Il vous suffit ensuite de double-cliquer sur l’icône de Mouse Debouncer (c’est le nom de ce script) en bas à droite de votre écran, pour configurer la durée minimum à prendre en compte entre deux clics :
Avec ça, plus de clics intempestifs et d’ouverture ou de fermeture de programme involontaires !
Source