• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 16:50
CET 22:50
KST 06:50
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12
Community News
ComeBackTV's documentary on Byun's Career !8Weekly Cups (Dec 8-14): MaxPax, Clem, Cure win4Weekly Cups (Dec 1-7): Clem doubles, Solar gets over the hump1Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15
StarCraft 2
General
When will we find out if there are more tournament ComeBackTV's documentary on Byun's Career ! Weekly Cups (Dec 8-14): MaxPax, Clem, Cure win RSL Revival - 2025 Season Finals Preview Weekly Cups (Dec 1-7): Clem doubles, Solar gets over the hump
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament $5,000+ WardiTV 2025 Championship RSL Offline Finals Info - Dec 13 and 14! Master Swan Open (Global Bronze-Master 2) Winter Warp Gate Amateur Showdown #1:
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 504 Retribution Mutation # 503 Fowl Play Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress
Brood War
General
How Rain Became ProGamer in Just 3 Months BGH Auto Balance -> http://bghmmr.eu/ FlaSh on: Biggest Problem With SnOw's Playstyle screp: Command line app to parse SC rep files [BSL21] RO8 Bracket & Prediction Contest
Tourneys
Small VOD Thread 2.0 [Megathread] Daily Proleagues [BSL21] WB SEMIFINALS - Saturday 21:00 CET [BSL21] RO8 - Day 2 - Sunday 21:00 CET
Strategy
Game Theory for Starcraft Current Meta Simple Questions, Simple Answers Fighting Spirit mining rates
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Mechabellum PC Games Sales Thread Path of Exile
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas Survivor II: The Amazon Sengoku Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine The Games Industry And ATVI YouTube Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
TL+ Announced Where to ask questions and add stream?
Blogs
The (Hidden) Drug Problem in…
TrAiDoS
I decided to write a webnov…
DjKniteX
James Bond movies ranking - pa…
Topin
Thanks for the RSL
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1599 users

DeathAdder double clicking problem - Page 2

Forum Index > Tech Support
Post a Reply
Prev 1 2 All
tathagatagarbha
Profile Joined December 2012
Germany3 Posts
December 07 2012 14:01 GMT
#21
i had the doubleclick-problem with some of my mice as well and i fixed the hardware with software
just use the following auto-hotkey script (you can put in autostart if you want to)

+ Show Spoiler +

/*
** Buggy-Mouse.ahk - Fix a buggy mouse. Stop it from double-clicking when you try to single-click.
**
** Updated: Sat, Aug 27, 2011 --- 8/27/11, 2:38:19pm EDT
** Keywords: mouse double clicks when i click once
** Keywords: mouse double clicks on its own
** Keywords: mouse double clicks with one click
** Keywords: mouse double clicks on single click
** Keywords: mouse double clicks on one click
** Keywords: mouse double-clicking when you single-click
** Keywords: set mouse minimum double click speed
** Location: r.secsrv.net/AutoHotkey/Scripts/Buggy-Mouse
**
** Author: JSLover - r.secsrv.net/JSLover - r.secsrv.net/JSLoverAHK
*/
#SingleInstance force
OnExit, OnExit

;// *** Settings ***

Log=0

;// Minimum double-click time. Any lower & it will be blocked (as being inhumanly fast).
DoubleClickMin_ms:=80

;// *** DISABLED *** ;// Minimum click after mouse-up time. Any lower & it will be blocked (as being inhumanly fast).
;// *** DISABLED *** ClickAfterMouseUpMin_ms:=100

;// *** /Settings ***

Gosub, OnStartup

;// *** Build Tray Menu ***

Text_ClicksBlocked=Clicks Blocked
Text_Debug=Debug
Text_Debug_OnlyBlocked=Debug (only blocked)

Menu, Tray, Add, %Text_ClicksBlocked%, BuggyMouse_MenuSelect_ClicksBlocked
Text_ClicksBlocked_MenuCurrent:=Text_ClicksBlocked
Menu, Tray, Default, %Text_ClicksBlocked%
Menu, Tray, Add, %Text_Debug%, BuggyMouse_MenuSelect_Debug
Menu, Tray, Add, %Text_Debug_OnlyBlocked%, BuggyMouse_MenuSelect_Debug_OnlyBlocked
Menu, Tray, Disable, %Text_Debug_OnlyBlocked%
Menu, Tray, Add
Menu, Tray, NoStandard
Menu, Tray, Standard

;// *** /Build Tray Menu ***

;//BuggyMouse_Debug:=1
;//BuggyMouse_Debug_OnlyBlocked:=1
Gosub, BuggyMouse_MenuSelect_Debug
Gosub, BuggyMouse_MenuSelect_Debug_OnlyBlocked
return

OnStartup:
logdir=%A_ScriptDir%
logfilename=%A_ScriptName%.log
logfile=%logdir%\%logfilename%

time:=time()
logmsg=
(LTrim
%A_ScriptName% Started`t`t%time%
` Status`t`tUpDn`t Key`t`t`tReason`t`t`t`tWindow`n
)
log(logmsg)
return

OnExit:
time:=time()
logmsg=
(LTrim
%A_ScriptName% Exited`t`t%time%`n`n
)
log(logmsg)
ExitApp

LButton::
MButton::
RButton::
log_key:="Down`t" A_ThisHotkey "`t"
Critical
di++
TimeSinceLastMouseDown:=A_TickCount-LastMouseDown_ts
;//TimeSinceLastMouseUp:=A_TickCount-LastMouseUp_ts
DoubleClickTooFast:=TimeSinceLastMouseDown<=DoubleClickMin_ms
;// *** DISABLED *** ClickAfterMouseUpTooSoon:=(ClickAfterMouseUpMin_ms!="" && TimeSinceLastMouseUp<=ClickAfterMouseUpMin_ms)
;//if ((A_ThisHotkey==LastMouseDown && DoubleClickTooFast) || ClickAfterMouseUpTooSoon) {
if (A_ThisHotkey==LastMouseDown && (DoubleClickTooFast || ClickAfterMouseUpTooSoon)) {
;//if (A_TimeSincePriorHotkey<=DoubleClickMin_ms) {
reason:=DoubleClickTooFast ? "DoubleClickTooFast" "(" TimeSinceLastMouseDown ")" "(" DoubleClickMin_ms ")"
: ClickAfterMouseUpTooSoon ? "ClickAfterMouseUpTooSoon" "(" TimeSinceLastMouseUp ")" "(" ClickAfterMouseUpMin_ms ")"
: "Unknown"
msg=`nblocked (%reason%)
blockeddown:=1
BlockedCount_Down++
A_ThisHotkeyVarSafe:=RegExReplace(A_ThisHotkey, "i)[^a-z0-9_]")
BlockedCount_%A_ThisHotkeyVarSafe%++
Gosub, BuggyMouse_UpdateStatus_ClicksBlocked

log_action:="BLOCKED`t"
} else {
reason:=""
Send, {%A_ThisHotkey% DownTemp}
msg=`nSent, {%A_ThisHotkey% DownTemp}`n`n
(LTrim C
if (%A_ThisHotkey%==%LastMouseDown% && (%DoubleClickTooFast% || %ClickAfterMouseUpTooSoon%))
)

log_action:="`tallowed"
}
BuggyMouse_DebugMsg_down=%di%: %A_ThisHotkey%(%TimeSinceLastMouseDown%)%LastMouseDown%%msg%
msg=
Gosub, BuggyMouse_Debug
LastMouseDown:=A_ThisHotkey
LastMouseDown_ts:=A_TickCount

wininfo:=WinGetInfo("a")
log(log_action "`t`t" log_key "`t`t" reason "`t`t`t`t`t" wininfo "`n")
return

LButton up::
MButton up::
RButton up::
log_key:=" Up `t" A_ThisHotkey
Critical
ui++
TimeSinceLastMouseUp:=A_TickCount-LastMouseUp_ts
;//if (A_ThisHotkey=A_PriorHotkey && A_TimeSincePriorHotkey<=DoubleClickMin_ms) {
;//if (A_ThisHotkey=LastMouseUp && A_TimeSincePriorHotkey<=DoubleClickMin_ms) {
if (blockeddown) {
msg=`nblocked
blockedup:=1
BlockedCount_Up++
A_ThisHotkeyVarSafe:=RegExReplace(A_ThisHotkey, "i)[^a-z0-9_]")
BlockedCount_%A_ThisHotkeyVarSafe%++
Gosub, BuggyMouse_UpdateStatus_ClicksBlocked

log_action:="BLOCKED`t"
} else {
Send, {%A_ThisHotkey%}
msg=`nSent, {%A_ThisHotkey%}
log_action:="`tallowed"
}
;//if (BuggyMouse_Debug) {
BuggyMouse_DebugMsg_up=%ui%: %A_ThisHotkey%(%TimeSinceLastMouseUp%)%LastMouseUp%%msg%
msg=
Gosub, BuggyMouse_Debug
;//}
blockeddown=
blockedup=
LastMouseUp:=A_ThisHotkey
LastMouseUp_ts:=A_TickCount

wininfo:=WinGetInfo("a")
log(log_action "`t`t" log_key "`t`t" reason "`t`t`t`t`t" wininfo "`n")
return

BuggyMouse_Debug_ShowLastMsg:
;//BuggyMouse_Debug_ShowLastMsg=1
BuggyMouse_Debug:

return

BuggyMouse_UpdateStatus_ClicksBlocked:
BlockedCount_Total:=BlockedCount_Down+BlockedCount_Up
Text_ClicksBlocked_MenuNew=%Text_ClicksBlocked%: %BlockedCount_Total%
Menu, Tray, Rename, %Text_ClicksBlocked_MenuCurrent%, %Text_ClicksBlocked_MenuNew%
Text_ClicksBlocked_MenuCurrent:=Text_ClicksBlocked_MenuNew
Menu, Tray, Tip, %Text_ClicksBlocked_MenuCurrent% - %A_ScriptName%
return

BuggyMouse_MenuSelect_ClicksBlocked:
msgbox, 64, ,
(LTrim C
%Text_ClicksBlocked_MenuCurrent%

Down(%BlockedCount_Down%)
Up(%BlockedCount_Up%)

LButton(%BlockedCount_LButton%)
MButton(%BlockedCount_MButton%)
RButton(%BlockedCount_RButton%)

LButton up(%BlockedCount_LButtonup%)
MButton up(%BlockedCount_MButtonup%)
RButton up(%BlockedCount_RButtonup%)
)
return

BuggyMouse_MenuSelect_Debug:
BuggyMouse_Debug:=!BuggyMouse_Debug
Menu, Tray, ToggleCheck, %Text_Debug%
Menu, Tray, ToggleEnable, %Text_Debug_OnlyBlocked%
Tooltip
return

BuggyMouse_MenuSelect_Debug_OnlyBlocked:
BuggyMouse_Debug_OnlyBlocked:=!BuggyMouse_Debug_OnlyBlocked
Menu, Tray, ToggleCheck, %Text_Debug_OnlyBlocked%
Tooltip
return

log(p_msg, p_file="") {
Global Log, logfile
if (!Log) {
return
}
if (p_file="") {
p_file:=logfile
}
FileAppend, %p_msg%, %p_file%
}

time() {
FormatTime, time, L1033, ddd, MMM d, yyyy --- M/d/yy h:mm:sstt
return time
}

WinGetInfo(p_win, ByRef r_win_title="", ByRef r_win_class="") {
WinGetTitle, win_title, %p_win%
WinGetClass, win_class, %p_win%

r_win_title:=(win_title ? win_title:"<no-title-info>")
r_win_class:=(win_class ? win_class:"<no-class-info>")

;//wininfo:=(win_title ? win_title:"<no-title-info>") " - " (win_class ? win_class:"<no-class-info>")
wininfo:=(win_class ? win_class:"<no-class-info>") ": " (win_title ? win_title:"<no-title-info>")
return wininfo
}

#ScrollLock::log("*** PROBLEM ***`n")
^+#!F8::Gosub, BuggyMouse_Debug_ShowLastMsg
^+#!F9::Suspend
^+#!F12::ExitApp
;//*F12::ExitApp
;//F11::
;//toggle:=!toggle
;//if (toggle) {
;// Hotkey, *F12, Off
;//} else {
;// Hotkey, *F12, On
;//}
;//return

/* ;// **************************** Changelog / Version History ****************************
**
** Created: Fri, Apr 11, 2008 --- 4/11/08, 11:19:19am
** Modified: Sat, Apr 12, 2008 --- 4/12/08, 5:38:19am
** Modified: Sun, Jul 10, 2011 --- 7/10/11, 3:19:19am EDT
** * Added blocking of "mouse down too soon after last mouse up"
** Modified: Wed, Jul 20, 2011 --- 7/20/11, 1:19:19pm EDT
** Modified: Thu, Aug 25, 2011 --- 8/25/11, 1:19:19am EDT
** * Temporarily disabled "mouse down too soon after last mouse up" blocking, until I get it working.
** Modified: Thu, Aug 25, 2011 --- 8/25/11, 2:38:19am EDT
** * Updated Keywords for search engines
** Modified: Sat, Aug 27, 2011 --- 8/27/11, 7:19:19am EDT
** * Added Logging
** Modified: Sat, Aug 27, 2011 --- 8/27/11, 2:38:19pm EDT
** * Added Window Info to log
**
*/ ;// **************************** /Changelog / Version History ****************************


"DoubleClickMin_ms:=80"
you can change the time between blocked clicks here

all credits to the author!
imagine peace | shameless plug: twitch.tv/tathagatagarbha - youtube.com/user/satoriSC
TurboMaN
Profile Joined October 2005
Germany925 Posts
December 07 2012 17:31 GMT
#22
I have had this problem too.
Well I had 2 Razer Deathadder in about also 3 Razer Abyssus in the next years. 2 Deathadders got crashed when I was playing SCBW and 2 out of 3 Abyssus in SC2. It was always the same problem: Broken left mouse button. I think one in a year was standard for me, though I didn't hammer on the buttons, I was just clicking fast. Before the Deathadder I had two Razer Copperheads which had also a Razer-known problem: cable-break.
However my last Abysuss is still working but I mainly use a Steelseries Kana now, because I got it for free and it has a nice grip. Razer makes good mice, but unfortunately they also break very fast.
IPS.Blue
Profile Joined January 2004
Germany309 Posts
December 08 2012 11:52 GMT
#23
On December 07 2012 23:01 tathagatagarbha wrote:
i had the doubleclick-problem with some of my mice as well and i fixed the hardware with software
just use the following auto-hotkey script (you can put in autostart if you want to)

+ Show Spoiler +

/*
** Buggy-Mouse.ahk - Fix a buggy mouse. Stop it from double-clicking when you try to single-click.
**
** Updated: Sat, Aug 27, 2011 --- 8/27/11, 2:38:19pm EDT
** Keywords: mouse double clicks when i click once
** Keywords: mouse double clicks on its own
** Keywords: mouse double clicks with one click
** Keywords: mouse double clicks on single click
** Keywords: mouse double clicks on one click
** Keywords: mouse double-clicking when you single-click
** Keywords: set mouse minimum double click speed
** Location: r.secsrv.net/AutoHotkey/Scripts/Buggy-Mouse
**
** Author: JSLover - r.secsrv.net/JSLover - r.secsrv.net/JSLoverAHK
*/
#SingleInstance force
OnExit, OnExit

;// *** Settings ***

Log=0

;// Minimum double-click time. Any lower & it will be blocked (as being inhumanly fast).
DoubleClickMin_ms:=80

;// *** DISABLED *** ;// Minimum click after mouse-up time. Any lower & it will be blocked (as being inhumanly fast).
;// *** DISABLED *** ClickAfterMouseUpMin_ms:=100

;// *** /Settings ***

Gosub, OnStartup

;// *** Build Tray Menu ***

Text_ClicksBlocked=Clicks Blocked
Text_Debug=Debug
Text_Debug_OnlyBlocked=Debug (only blocked)

Menu, Tray, Add, %Text_ClicksBlocked%, BuggyMouse_MenuSelect_ClicksBlocked
Text_ClicksBlocked_MenuCurrent:=Text_ClicksBlocked
Menu, Tray, Default, %Text_ClicksBlocked%
Menu, Tray, Add, %Text_Debug%, BuggyMouse_MenuSelect_Debug
Menu, Tray, Add, %Text_Debug_OnlyBlocked%, BuggyMouse_MenuSelect_Debug_OnlyBlocked
Menu, Tray, Disable, %Text_Debug_OnlyBlocked%
Menu, Tray, Add
Menu, Tray, NoStandard
Menu, Tray, Standard

;// *** /Build Tray Menu ***

;//BuggyMouse_Debug:=1
;//BuggyMouse_Debug_OnlyBlocked:=1
Gosub, BuggyMouse_MenuSelect_Debug
Gosub, BuggyMouse_MenuSelect_Debug_OnlyBlocked
return

OnStartup:
logdir=%A_ScriptDir%
logfilename=%A_ScriptName%.log
logfile=%logdir%\%logfilename%

time:=time()
logmsg=
(LTrim
%A_ScriptName% Started`t`t%time%
` Status`t`tUpDn`t Key`t`t`tReason`t`t`t`tWindow`n
)
log(logmsg)
return

OnExit:
time:=time()
logmsg=
(LTrim
%A_ScriptName% Exited`t`t%time%`n`n
)
log(logmsg)
ExitApp

LButton::
MButton::
RButton::
log_key:="Down`t" A_ThisHotkey "`t"
Critical
di++
TimeSinceLastMouseDown:=A_TickCount-LastMouseDown_ts
;//TimeSinceLastMouseUp:=A_TickCount-LastMouseUp_ts
DoubleClickTooFast:=TimeSinceLastMouseDown<=DoubleClickMin_ms
;// *** DISABLED *** ClickAfterMouseUpTooSoon:=(ClickAfterMouseUpMin_ms!="" && TimeSinceLastMouseUp<=ClickAfterMouseUpMin_ms)
;//if ((A_ThisHotkey==LastMouseDown && DoubleClickTooFast) || ClickAfterMouseUpTooSoon) {
if (A_ThisHotkey==LastMouseDown && (DoubleClickTooFast || ClickAfterMouseUpTooSoon)) {
;//if (A_TimeSincePriorHotkey<=DoubleClickMin_ms) {
reason:=DoubleClickTooFast ? "DoubleClickTooFast" "(" TimeSinceLastMouseDown ")" "(" DoubleClickMin_ms ")"
: ClickAfterMouseUpTooSoon ? "ClickAfterMouseUpTooSoon" "(" TimeSinceLastMouseUp ")" "(" ClickAfterMouseUpMin_ms ")"
: "Unknown"
msg=`nblocked (%reason%)
blockeddown:=1
BlockedCount_Down++
A_ThisHotkeyVarSafe:=RegExReplace(A_ThisHotkey, "i)[^a-z0-9_]")
BlockedCount_%A_ThisHotkeyVarSafe%++
Gosub, BuggyMouse_UpdateStatus_ClicksBlocked

log_action:="BLOCKED`t"
} else {
reason:=""
Send, {%A_ThisHotkey% DownTemp}
msg=`nSent, {%A_ThisHotkey% DownTemp}`n`n
(LTrim C
if (%A_ThisHotkey%==%LastMouseDown% && (%DoubleClickTooFast% || %ClickAfterMouseUpTooSoon%))
)

log_action:="`tallowed"
}
BuggyMouse_DebugMsg_down=%di%: %A_ThisHotkey%(%TimeSinceLastMouseDown%)%LastMouseDown%%msg%
msg=
Gosub, BuggyMouse_Debug
LastMouseDown:=A_ThisHotkey
LastMouseDown_ts:=A_TickCount

wininfo:=WinGetInfo("a")
log(log_action "`t`t" log_key "`t`t" reason "`t`t`t`t`t" wininfo "`n")
return

LButton up::
MButton up::
RButton up::
log_key:=" Up `t" A_ThisHotkey
Critical
ui++
TimeSinceLastMouseUp:=A_TickCount-LastMouseUp_ts
;//if (A_ThisHotkey=A_PriorHotkey && A_TimeSincePriorHotkey<=DoubleClickMin_ms) {
;//if (A_ThisHotkey=LastMouseUp && A_TimeSincePriorHotkey<=DoubleClickMin_ms) {
if (blockeddown) {
msg=`nblocked
blockedup:=1
BlockedCount_Up++
A_ThisHotkeyVarSafe:=RegExReplace(A_ThisHotkey, "i)[^a-z0-9_]")
BlockedCount_%A_ThisHotkeyVarSafe%++
Gosub, BuggyMouse_UpdateStatus_ClicksBlocked

log_action:="BLOCKED`t"
} else {
Send, {%A_ThisHotkey%}
msg=`nSent, {%A_ThisHotkey%}
log_action:="`tallowed"
}
;//if (BuggyMouse_Debug) {
BuggyMouse_DebugMsg_up=%ui%: %A_ThisHotkey%(%TimeSinceLastMouseUp%)%LastMouseUp%%msg%
msg=
Gosub, BuggyMouse_Debug
;//}
blockeddown=
blockedup=
LastMouseUp:=A_ThisHotkey
LastMouseUp_ts:=A_TickCount

wininfo:=WinGetInfo("a")
log(log_action "`t`t" log_key "`t`t" reason "`t`t`t`t`t" wininfo "`n")
return

BuggyMouse_Debug_ShowLastMsg:
;//BuggyMouse_Debug_ShowLastMsg=1
BuggyMouse_Debug:

return

BuggyMouse_UpdateStatus_ClicksBlocked:
BlockedCount_Total:=BlockedCount_Down+BlockedCount_Up
Text_ClicksBlocked_MenuNew=%Text_ClicksBlocked%: %BlockedCount_Total%
Menu, Tray, Rename, %Text_ClicksBlocked_MenuCurrent%, %Text_ClicksBlocked_MenuNew%
Text_ClicksBlocked_MenuCurrent:=Text_ClicksBlocked_MenuNew
Menu, Tray, Tip, %Text_ClicksBlocked_MenuCurrent% - %A_ScriptName%
return

BuggyMouse_MenuSelect_ClicksBlocked:
msgbox, 64, ,
(LTrim C
%Text_ClicksBlocked_MenuCurrent%

Down(%BlockedCount_Down%)
Up(%BlockedCount_Up%)

LButton(%BlockedCount_LButton%)
MButton(%BlockedCount_MButton%)
RButton(%BlockedCount_RButton%)

LButton up(%BlockedCount_LButtonup%)
MButton up(%BlockedCount_MButtonup%)
RButton up(%BlockedCount_RButtonup%)
)
return

BuggyMouse_MenuSelect_Debug:
BuggyMouse_Debug:=!BuggyMouse_Debug
Menu, Tray, ToggleCheck, %Text_Debug%
Menu, Tray, ToggleEnable, %Text_Debug_OnlyBlocked%
Tooltip
return

BuggyMouse_MenuSelect_Debug_OnlyBlocked:
BuggyMouse_Debug_OnlyBlocked:=!BuggyMouse_Debug_OnlyBlocked
Menu, Tray, ToggleCheck, %Text_Debug_OnlyBlocked%
Tooltip
return

log(p_msg, p_file="") {
Global Log, logfile
if (!Log) {
return
}
if (p_file="") {
p_file:=logfile
}
FileAppend, %p_msg%, %p_file%
}

time() {
FormatTime, time, L1033, ddd, MMM d, yyyy --- M/d/yy h:mm:sstt
return time
}

WinGetInfo(p_win, ByRef r_win_title="", ByRef r_win_class="") {
WinGetTitle, win_title, %p_win%
WinGetClass, win_class, %p_win%

r_win_title:=(win_title ? win_title:"<no-title-info>")
r_win_class:=(win_class ? win_class:"<no-class-info>")

;//wininfo:=(win_title ? win_title:"<no-title-info>") " - " (win_class ? win_class:"<no-class-info>")
wininfo:=(win_class ? win_class:"<no-class-info>") ": " (win_title ? win_title:"<no-title-info>")
return wininfo
}

#ScrollLock::log("*** PROBLEM ***`n")
^+#!F8::Gosub, BuggyMouse_Debug_ShowLastMsg
^+#!F9::Suspend
^+#!F12::ExitApp
;//*F12::ExitApp
;//F11::
;//toggle:=!toggle
;//if (toggle) {
;// Hotkey, *F12, Off
;//} else {
;// Hotkey, *F12, On
;//}
;//return

/* ;// **************************** Changelog / Version History ****************************
**
** Created: Fri, Apr 11, 2008 --- 4/11/08, 11:19:19am
** Modified: Sat, Apr 12, 2008 --- 4/12/08, 5:38:19am
** Modified: Sun, Jul 10, 2011 --- 7/10/11, 3:19:19am EDT
** * Added blocking of "mouse down too soon after last mouse up"
** Modified: Wed, Jul 20, 2011 --- 7/20/11, 1:19:19pm EDT
** Modified: Thu, Aug 25, 2011 --- 8/25/11, 1:19:19am EDT
** * Temporarily disabled "mouse down too soon after last mouse up" blocking, until I get it working.
** Modified: Thu, Aug 25, 2011 --- 8/25/11, 2:38:19am EDT
** * Updated Keywords for search engines
** Modified: Sat, Aug 27, 2011 --- 8/27/11, 7:19:19am EDT
** * Added Logging
** Modified: Sat, Aug 27, 2011 --- 8/27/11, 2:38:19pm EDT
** * Added Window Info to log
**
*/ ;// **************************** /Changelog / Version History ****************************


"DoubleClickMin_ms:=80"
you can change the time between blocked clicks here

all credits to the author!

Clever! Although I would recommend even less than 80 ms ...
TheRabidDeer
Profile Blog Joined May 2003
United States3806 Posts
December 08 2012 17:42 GMT
#24
On December 07 2012 20:17 Martijn wrote:
The doubleclicking and the scrollwheel breaking are known issues. I'm on my third deathadder, the scrollwheel set a record time in breaking, < 3 months.

I miss the diamondback. I really liked the separation between the buttons and the rest of the outer hull and they lasted through a lot. Bling's deathadder broke this weekend just before the final and he had to play on someone elses.

Maybe time to contact madcatz and see about getting a RAT. It looks like a freak of nature to me, but the reviews are really good..

It seems like really bad quality on these mice. My last deathadder lasted about a year, then the doubleclick issue got to be unbearable. My current one has been about 9 months or so and now I am getting a strange scrollwheel issue. Sometimes I scroll down and get a scroll up or two. Sometimes I scroll up and get a scroll down or two. Sometimes I get a scroll for no reason at all. It hasnt been too often, but it has happened... and its really annoying when playing a game like CS where scroll is jump and you randomly jump for no reason.
Incytech
Profile Joined July 2015
1 Post
July 29 2015 05:40 GMT
#25
I fixed my DA Chroma double clicking issue by blowing into the Left Click button *gently* with an air compressor. Hope this helps anyone else! My next mouse is going to be a logitech... :L
FiWiFaKi
Profile Blog Joined February 2009
Canada9859 Posts
July 29 2015 14:41 GMT
#26
I have had the Razer Deathadder 3.5G AND Razor Deathadder 2013 that got this problem. The 2013 DA lasted for 2 years, and the 3.5G DA lasted for about 3-4 years. Luckily I got bought 4 year warranty for the 2013 DA, as Razer products are famous for shitting out after a couple years... And got it replaced for "free", but the new colorful DA.

Unless this mouse lasts for 8+ years, I don't think I'll buy a Razer mouse again.
In life, the journey is more satisfying than the destination. || .::Entrepreneurship::. Living a few years of your life like most people won't, so that you can spend the rest of your life like most people can't || Mechanical Engineering & Economics Major
xevis
Profile Joined September 2010
United States218 Posts
July 30 2015 16:13 GMT
#27
The double click is not a software issue, it's mechanical. Razer built these mice to last less than two years, but will last much longer than that with a little surgery. There is a little indentation on the plastic piece that hits the micron switch, Razer made it so it stops hitting it correctly after a short period of time. There is youtube videos on exactly how to fix this, after many surgeries I have resorted to just using a little piece of masking tape to fill that gap. I have operated on my abyssus maybe 5 times in the last 3 years, and the same with my naga's.

DON"T send mice in to be replaced by the warranty. Razer will send you an older refurbished mice than you gave them and it will double click in less than 3 months too, and you will have an older mouse. Done it a few times with them until I stumbled upon those youtube videos. Hope this helps.
How can you have any pudding if you don't eat your meat?
WellCrap
Profile Joined July 2012
Sweden122 Posts
July 30 2015 22:36 GMT
#28
On July 31 2015 01:13 xevis wrote:
The double click is not a software issue, it's mechanical. Razer built these mice to last less than two years, but will last much longer than that with a little surgery. There is a little indentation on the plastic piece that hits the micron switch, Razer made it so it stops hitting it correctly after a short period of time. There is youtube videos on exactly how to fix this, after many surgeries I have resorted to just using a little piece of masking tape to fill that gap. I have operated on my abyssus maybe 5 times in the last 3 years, and the same with my naga's.

DON"T send mice in to be replaced by the warranty. Razer will send you an older refurbished mice than you gave them and it will double click in less than 3 months too, and you will have an older mouse. Done it a few times with them until I stumbled upon those youtube videos. Hope this helps.

Its not that they have designed the switch for it to break, its just a fairly low quality switch. You can easily avoid having to fix the switch over and over again by replacing the micro switch with something like a d2f-01f. Its not hard to de-solder a switch, If my shaky hands can do it then you can
G9x-MiCo
xevis
Profile Joined September 2010
United States218 Posts
July 31 2015 00:07 GMT
#29
The omron switch works just fine, its the piece of plastic that contacts the switch when you press your left or right mouse button, that piece was designed to fail imo. There are youtube vids on how to fix it in great detail, very easy to do.
How can you have any pudding if you don't eat your meat?
cabal]
Profile Joined January 2013
Belgium37 Posts
August 04 2015 15:13 GMT
#30
I've been through 3 deathadders over the last 4 years. Everytime broken left mous button.
funkie
Profile Blog Joined November 2005
Venezuela9376 Posts
December 11 2015 15:59 GMT
#31
This is a good bump, promise.

I found this tutorial on how to fix the switch that triggers the click on the DeathAdder.

Since mine was doing the double-click thing too, I decided to give it a try.

I now have a fully working Deathadder again. .

https://t.co/12m0RM9dPy

Cheers!
CJ Entusman #6! · Strength is the basis of athletic ability. -Rippetoe /* http://j.mp/TL-App <- TL iPhone App 2.0! */
y0su
Profile Blog Joined September 2011
Finland7871 Posts
December 11 2015 21:26 GMT
#32
On December 12 2015 00:59 funkie wrote:
This is a good bump, promise.

I found this tutorial on how to fix the switch that triggers the click on the DeathAdder.

Since mine was doing the double-click thing too, I decided to give it a try.

I now have a fully working Deathadder again. .

https://t.co/12m0RM9dPy

Cheers!

I did that - used switches from an old mouse to fix a DA.
TelecoM
Profile Blog Joined January 2010
United States10686 Posts
December 12 2015 22:27 GMT
#33
Had the same issue
AKA: TelecoM[WHITE] Protoss fighting
Prev 1 2 All
Please log in or register to reply.
Live Events Refresh
The PiG Daily
21:00
Best Games of Starcraft
SHIN vs ByuN
Reynor vs Classic
TBD vs herO
Maru vs SHIN
TBD vs Classic
PiGStarcraft257
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft257
ProTech147
StarCraft: Brood War
Shuttle 162
Dewaltoss 119
Hyun 56
Aegong 56
Mong 39
Dota 2
PGG 71
Counter-Strike
byalli1689
fl0m1272
Foxcn151
adren_tv83
Heroes of the Storm
Liquid`Hasu527
Other Games
Grubby5769
FrodaN1126
RotterdaM381
B2W.Neo315
C9.Mang0147
Trikslyr65
ZombieGrub29
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 21 non-featured ]
StarCraft 2
• musti20045 50
• Hupsaiya 22
• davetesta17
• RyuSc2 8
• AfreecaTV YouTube
• sooper7s
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
StarCraft: Brood War
• XenOsky 2
• blackmanpl 2
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• masondota21260
• WagamamaTV1057
Other Games
• imaqtpie1583
• Shiphtur155
• tFFMrPink 20
Upcoming Events
CranKy Ducklings
12h 10m
WardiTV 2025
13h 10m
Reynor vs MaxPax
SHIN vs TBD
Solar vs herO
Classic vs TBD
SC Evo League
14h 40m
Ladder Legends
21h 10m
BSL 21
22h 10m
Sziky vs Dewalt
eOnzErG vs Cross
Sparkling Tuna Cup
1d 12h
Ladder Legends
1d 19h
BSL 21
1d 22h
StRyKeR vs TBD
Bonyth vs TBD
Replay Cast
2 days
Wardi Open
2 days
[ Show More ]
Monday Night Weeklies
2 days
WardiTV Invitational
4 days
Replay Cast
5 days
WardiTV Invitational
5 days
ByuN vs Solar
Clem vs Classic
Cure vs herO
Reynor vs MaxPax
Liquipedia Results

Completed

Acropolis #4 - TS3
RSL Offline Finals
Kuram Kup

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
Slon Tour Season 2
CSL Season 19: Qualifier 1
WardiTV 2025
META Madness #9
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22

Upcoming

CSL Season 19: Qualifier 2
CSL 2025 WINTER (S19)
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Big Gabe Cup #3
OSC Championship Season 13
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.