piusare/mausuHoldo.ahk
2023-05-31 16:24:15 +02:00

288 lines
No EOL
3.8 KiB
AutoHotkey

#MaxThreadsPerHotkey 2
#HotkeyInterval 10000
#MaxHotkeysPerInterval 9999
#NoEnv
;;Process, Priority, , R
;;DllCall("mouse_event", "UInt", 1, "UInt", (rightMov + lefMov) , "UInt", upMov + downMov )
;;WINDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOWS y ahk unaware del futuro de los escritorios
;;https://www.autohotkey.com/boards/viewtopic.php?t=97706
DllCall("SetThreadDpiAwarenessContext", "ptr", -3, "ptr")
freqUpdater := DllCall("GetProcAddress", "Ptr" , DllCall("GetModuleHandle", "Str", "kernel32", "Ptr"), "AStr", "QueryPerformanceCounter", "Ptr")
;;VarSetCapacity(baseTime, 2334423432128)
;;VarSetCapacity(currentTime, 423523423128)
DllCall(freqUpdater, "Int64*" , baseTime)
DllCall(freqUpdater, "Int64*" , currentTime)
DllCall("QueryPerformanceFrequency", "Int64*", updateRate)
updateRate := updateRate / 1000
currentTime := currentTime ;;/ 1.0
baseTime := baseTime ;;/ 1.0
mouseActive := 0
rightMov := 0
lefMov := 0
upMov := 0
downMov := 0
rBtnHold := 0
mBtnHold := 0
lBtnHold := 0
speedUp := 1
speedUpFactor := 20
mouseSpeed := speedUp * speedUpFactor + 3
;;Toggle speed
RCtrl & ,::
;;SendInput, {RCtrl Up}
speedUp := !(speedUp)
mouseSpeed := speedUp * speedUpFactor + 3
;;SendInput, {RCtrl Down}
return
;;tuckaway
;;targeting 1080p displays with taskbar on top. Change at your leisure.
RCtrl & .::
MouseMove, 1940, 100
;;inputCleaning()
return
mouseMovement(lefMov, rightMov, upMov, downMov, mouseSpeed)
{
MouseMove, (rightMov + lefMov) * (mouseSpeed), (upMov + downMov) * (mouseSpeed), 0, R
}
LAlt & RAlt::
RAlt & LAlt::
;;<^>!LAlt::
;;LAlt & RAlt::
mouseActive := !(mouseActive)
#if mouseActive
Loop
{
if (mouseActive == 0)
{
lefMov := 0
rightMov := 0
upMov := 0
downMov := 0
lBtnHold := 0
mBtnHold := 0
rBtnHold := 0
break
}
DllCall(freqUpdater, "Int64*", currentTime)
if (currentTime - baseTime >= updateRate)
{
mouseMovement(lefMov, rightMov, upMov, downMov, mouseSpeed)
baseTime := currentTime
}
}
return
#if
return
$j::
if (mouseActive == 1)
{
lefMov := -1
}
else
{
SendInput, j
}
return
j Up::
if (mouseActive == 1)
{
lefMov := 0
}
return
$sc027::
if (mouseActive == 1)
{
rightMov := 1
}
else
{
SendInput, {sc027}
}
return
sc027 Up::
if (mouseActive == 1)
{
rightMov := 0
}
return
$l::
if (mouseActive == 1)
{
upMov := -1
}
else
{
SendInput, l
}
return
l Up::
if (mouseActive == 1)
{
upMov := 0
}
return
$k::
if (mouseActive == 1)
{
downMov := 1
}
else
{
SendInput, k
}
return
k Up::
if (mouseActive == 1)
{
downMov := 0
}
return
$u::
if (mouseActive == 1)
{
if(lBtnHold == 1)
{
SendInput, {LButton Up}
lBtnHold := 0
}
else
{
SendInput, {LButton}
}
KeyWait, u
}
else
{
SendInput, u
}
return
u Up::return
$m::
if (mouseActive == 1)
{
if(lBtnHold == 1)
{
SendInput, {LButton Up}
lBtnHold := 0
}
else
{
SendInput, {LButton Down}
lBtnHold := 1
}
KeyWait, m
}
else
{
SendInput, m
}
return
m Up::return
$i::
if (mouseActive == 1)
{
if(mBtnHold == 1)
{
SendInput, {MButton Up}
mBtnHold := 0
}
else
{
SendInput, {MButton}
}
KeyWait, i
}
else
{
SendInput, i
}
return
i Up::return
$sc033::
if (mouseActive == 1)
{
if(mBtnHold == 1)
{
SendInput, {MButton Up}
mBtnHold := 0
}
else
{
SendInput, {MButton Down}
mBtnHold := 1
}
KeyWait, `,
}
else
{
SendInput, `,
}
return
sc033 Up::return
$o::
if (mouseActive == 1)
{
if(RBtnHold == 1)
{
SendInput, {RButton Up}
mBtnHold := 0
}
else
{
SendInput, {RButton}
}
KeyWait, o
}
else
{
SendInput, o
}
return
o Up::return
$.::
if (mouseActive == 1)
{
if(rBtnHold == 1)
{
SendInput, {RButton Up}
mBtnHold := 0
}
else
{
SendInput, {RButton Down}
mBtnHold := 1
}
KeyWait, `.
}
else
{
SendInput, `.
}
return
;;#if
return