SysGet, VirtualScreenLeft, 76 ; get the dimensions of the virtual desktop (all screens)
SysGet, VirtualScreenWidth, 78
SysGet, VirtualScreenTop, 77
SysGet, VirtualScreenHeight, 79
CoordMode, Mouse, Screen ; make mouse coordinates relative to screen not active window
Hotkey, #k, MoveUp
Hotkey, ^!+k, MoveUp ; * to work with programmable mouse buttons (if winkey not accepted)
Hotkey, ^!+j, MoveDown
Hotkey, #j, MoveDown ; *
Hotkey, #+j, MoveLeft
Hotkey, ^!+h, MoveLeft ; *
Hotkey, #+k, MoveRight
Hotkey, ^!+l, MoveRight ; *
horizontalspeed = 0 ; 0 = fastest, 100 = slowest
verticalspeed =0
verticalspeedmultiplier = 50 ; cursor movement needs speeding up a bit
horizontalspeedmultiplier = 70
borderstop = 100 ; border around screens to halt cursor slide
mainscreenwidth = 1920 ; width of monitor
TopEdge := VirtualScreenTop + borderstop ; topmost monitor edge
BottomEdge := VirtualScreenHeight + VirtualScreenTop - borderstop ; bottommost monitor edge
LeftEdge := VirtualScreenLeft + borderstop ; leftmost monitor
RightEdge := VirtualScreenWidth + VirtualScreenLeft - borderstop ; rightmost monitor edge
FudgeFactor=10 ; margin of error for vertical slides
FudgeFactorHorizontal=2 ; margin of error for horizontal slides
MoveUp:
;CoordMode, Mouse, Screen
loop
{
If ( xpos_
< ( xpos
- FudgeFactor
) OR ( xpos_
> ( xpos
+ FudgeFactor
) ) ) ypos -= verticalspeedmultiplier
;if ypos = 0
}
MoveDown:
;CoordMode, Mouse, Screen
loop
{
If ( xpos_
< ( xpos
- FudgeFactor
) OR ( xpos_
> ( xpos
+ FudgeFactor
) ) ) ypos += verticalspeedmultiplier
;if ypos = %screenheight%
}
MoveLeft:
loop
{
If ( ypos_
< ( ypos
- FudgeFactorHorizontal
) OR ( ypos_
> ( ypos
+ FudgeFactorHorizontal
) ) ) xpos -= horizontalspeedmultiplier
;if xpos = 0
}
MoveRight:
loop
{
If ( ypos_
< ( ypos
- FudgeFactorHorizontal
) OR ( ypos_
> ( ypos
+ FudgeFactorHorizontal
) ) ) xpos += horizontalspeedmultiplier
;if xpos = %mainscreenwidth%
}