Help me change this code into a v2 one Topic is solved

Get help with using AutoHotkey (v2 or newer) and its commands and hotkeys
fluffy
Posts: 2
Joined: 02 May 2024, 23:28

Help me change this code into a v2 one

Post by fluffy » 02 May 2024, 23:43

Code: Select all

#SingleInstance, Force
#MaxHotkeysPerInterval, 280
#MaxThreadsPerHotkey, 20
#MaxThreads, 20
SetKeyDelay, -1
SetBatchLines, -1
SetMouseDelay, -1
switchspeed := 3500

$^K::
Send 3
Sleep 4000
Send 4
DupeToggle := !DupeToggle
if (DupeToggle = 1)
{
SetTimer DupeTimer, %switchspeed%
}
if (DupeToggle = 0)
{
SetTimer DupeTimer, Off
}
Return
DupeTimer:
Send 3
Sleep 500
Send 3
Sleep 3500
Send 4
Sleep 500
Send 4
Sleep 3500
Return

[Mod action: Moved topic from the v1 section because asking to translate to v2 is actually v2-related help.]

reddyshyam
Posts: 44
Joined: 24 Jul 2023, 04:34

Re: Help me change this code into a v2 one

Post by reddyshyam » 03 May 2024, 00:31

Hi,

Please see below. Hope this helps.

Code: Select all

#Requires AutoHotkey >=v2.0
#SingleInstance Force
MaxHotkeysPerInterval := 280
MaxThreadsPerHotkey := 20
MaxThreads := 20
SetKeyDelay  -1
SetMouseDelay -1
switchspeed := 3500
DupeToggle := 0

$^K:: {
	Send 3
	Sleep 4000
	Send 4
	Global DupeToggle := !DupeToggle
	
	if (DupeToggle = 1) {
		SetTimer DupeTimer, switchspeed
	}
	
	if (DupeToggle = 0){
		SetTimer DupeTimer, 0
	}
	
	Return
}

DupeTimer() {
	Send 3
	Sleep 500
	Send 3
	Sleep 3500
	Send 4
	Sleep 500
	Send 4
	Sleep 3500
	Return
}

User avatar
boiler
Posts: 17173
Joined: 21 Dec 2014, 02:44

Re: Help me change this code into a v2 one  Topic is solved

Post by boiler » 03 May 2024, 04:06

I would just suggest as a matter of good practice, don’t use global variables where not necessary, especially where a variable is only used in one function anyway.

Code: Select all

#Requires AutoHotkey >=v2.0
#SingleInstance Force
MaxHotkeysPerInterval := 280
MaxThreadsPerHotkey := 20
MaxThreads := 20
SetKeyDelay  -1
SetMouseDelay -1
switchspeed := 3500

$^K:: {
	Send 3
	Sleep 4000
	Send 4
	static DupeToggle := 0
	DupeToggle := !DupeToggle
	
	if (DupeToggle = 1) {
		SetTimer DupeTimer, switchspeed
	}
	
	if (DupeToggle = 0){
		SetTimer DupeTimer, 0
	}
	
	Return
}

DupeTimer() {
	Send 3
	Sleep 500
	Send 3
	Sleep 3500
	Send 4
	Sleep 500
	Send 4
	Sleep 3500
	Return
}

fluffy
Posts: 2
Joined: 02 May 2024, 23:28

Re: Help me change this code into a v2 one

Post by fluffy » 07 May 2024, 09:22

reddyshyam wrote:
03 May 2024, 00:31
Hi,

Please see below. Hope this helps.

Code: Select all

#Requires AutoHotkey >=v2.0
#SingleInstance Force
MaxHotkeysPerInterval := 280
MaxThreadsPerHotkey := 20
MaxThreads := 20
SetKeyDelay  -1
SetMouseDelay -1
switchspeed := 3500
DupeToggle := 0

$^K:: {
	Send 3
	Sleep 4000
	Send 4
	Global DupeToggle := !DupeToggle
	
	if (DupeToggle = 1) {
		SetTimer DupeTimer, switchspeed
	}
	
	if (DupeToggle = 0){
		SetTimer DupeTimer, 0
	}
	
	Return
}

DupeTimer() {
	Send 3
	Sleep 500
	Send 3
	Sleep 3500
	Send 4
	Sleep 500
	Send 4
	Sleep 3500
	Return
}
Thanks for your help I appreciate it very much.

Post Reply

Return to “Ask for Help (v2)”