Code: Select all
#MaxHotkeysPerInterval, 20000
isWPressed = 0 ; for physical button
isQPressed = 0 ; for physical button
isXPressed = 0 ; for physical button
isNPressed = 0 ; for physical button
~SC056::
isQPressed = 1
if (isWPressed = 0) {
send {NumpadLeft down}
}
return
~SC056 Up::
isQPressed = 0
if (isWPressed = 0) {
send {NumpadLeft up}
}
return
$NumpadLeft::
isWPressed = 1
if (isQPressed = 0) {
send {NumpadLeft down}
}
return
$NumpadLeft Up::
isWPressed = 0
if (isQPressed = 0) {
send {NumpadLeft up}
}
return
~x::
isNPressed = 1
if (isXPressed = 0) {
send {NumpadRight down}
}
return
~x Up::
isNPressed = 0
if (isXPressed = 0) {
send {NumpadRight up}
}
return
$NumpadRight::
isXPressed = 1
if (isNPressed = 0) {
send {NumpadRight down}
}
return
$NumpadRight Up::
isXPressed = 0
if (isNPressed = 0) {
send {NumpadRight up}
}
return
this is my attempt so far, it's not working but it should explain what I am trying to do:
Code: Select all
SC056::
isQPressed = 1
QPressedTime = A_TickCount
if (isWPressed = 0) {
send {SC056 down}{NumpadLeft down}
}
return
SC056 Up::
isQPressed = 0
QLiftedTime = A_TickCount
ATotalTime = QLiftedTime - QPressedTime
FutureTime = A_TickCount + ATotalTime
if (isWPressed = 0) {
;send {SC056 up}
send {NumpadLeft up}
send {NumpadRight down}
Loop {
If !GetKeyState("LButton", "SC056") {
}
else break
} Until A_TickCount - QPressedTime > ATotalTime
;SCUnpressed = 1
;Until A_TickCount - _starttime > FutureTime
;sleep ATotalTime
;if (A_TickCount - _starttime > FutureTime) {
;Loop {
;} Until A_TickCount > FutureTime
send {NumpadRight up}
;}
;send {NumpadClear down}
;send {NumpadClear up}
}
return