• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 06:32
CEST 12:32
KST 19:32
  • 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
[ASL19] Finals Recap: Standing Tall9HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6
Community News
Weekly Cups (June 30 - July 6): Classic Doubles0[BSL20] Non-Korean Championship 4x BSL + 4x China7Flash Announces Hiatus From ASL63Weekly Cups (June 23-29): Reynor in world title form?13FEL Cracov 2025 (July 27) - $8000 live event22
StarCraft 2
General
Weekly Cups (June 30 - July 6): Classic Doubles Program: SC2 / XSplit / OBS Scene Switcher The SCII GOAT: A statistical Evaluation Statistics for vetoed/disliked maps Weekly Cups (June 23-29): Reynor in world title form?
Tourneys
RSL: Revival, a new crowdfunded tournament series FEL Cracov 2025 (July 27) - $8000 live event Sparkling Tuna Cup - Weekly Open Tournament WardiTV Mondays Korean Starcraft League Week 77
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 481 Fear and Lava Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma
Brood War
General
ASL20 Preliminary Maps SC uni coach streams logging into betting site Player “Jedi” cheat on CSL Flash Announces Hiatus From ASL BW General Discussion
Tourneys
[BSL20] Grand Finals - Sunday 20:00 CET [BSL20] Non-Korean Championship 4x BSL + 4x China CSL Xiamen International Invitational The Casual Games of the Week Thread
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread What do you want from future RTS games? Beyond All Reason
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
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Stop Killing Games - European Citizens Initiative Summer Games Done Quick 2024! Summer Games Done Quick 2025! Russo-Ukrainian War Thread
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread
Sports
Formula 1 Discussion 2024 - 2025 Football Thread NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Blogs
Culture Clash in Video Games…
TrAiDoS
from making sc maps to makin…
Husyelt
Blog #2
tankgirl
StarCraft improvement
iopq
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 669 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
Canada9858 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
Venezuela9374 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 States10669 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
Next event in 28m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Creator 99
StarCraft: Brood War
Hyuk 759
Pusan 491
Soma 457
Stork 309
Jaedong 205
ZerO 170
Sharp 160
Larva 134
sorry 129
sSak 98
[ Show more ]
Soulkey 98
Shine 65
yabsab 51
Aegong 39
Snow 39
Free 27
zelot 26
JulyZerg 25
Mind 24
IntoTheRainbow 10
ivOry 3
Dota 2
XcaliburYe567
XaKoH 528
syndereN92
Counter-Strike
shoxiejesuss689
x6flipin409
allub120
Super Smash Bros
Mew2King243
Other Games
Pyrionflax314
crisheroes257
SortOf150
rGuardiaN49
ZerO(Twitch)17
Organizations
Other Games
gamesdonequick28834
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2227
League of Legends
• HappyZerGling100
Other Games
• WagamamaTV166
Upcoming Events
Wardi Open
28m
Replay Cast
13h 28m
Sparkling Tuna Cup
23h 28m
WardiTV European League
1d 5h
MaNa vs sebesdes
Mixu vs Fjant
ByuN vs HeRoMaRinE
ShoWTimE vs goblin
Gerald vs Babymarine
Krystianer vs YoungYakov
PiGosaur Monday
1d 13h
The PondCast
1d 23h
WardiTV European League
2 days
Jumy vs NightPhoenix
Percival vs Nicoract
ArT vs HiGhDrA
MaxPax vs Harstem
Scarlett vs Shameless
SKillous vs uThermal
uThermal 2v2 Circuit
2 days
Replay Cast
2 days
RSL Revival
2 days
ByuN vs SHIN
Clem vs Reynor
[ Show More ]
Replay Cast
3 days
RSL Revival
3 days
Classic vs Cure
FEL
4 days
RSL Revival
4 days
FEL
5 days
FEL
5 days
Sparkling Tuna Cup
5 days
RSL Revival
5 days
FEL
6 days
Liquipedia Results

Completed

BSL Season 20
HSC XXVII
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Jiahua Invitational
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025

Upcoming

2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
CSL Xiamen Invitational
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
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.