I started messing with this for an xbox360 controller and added a few features.
ctrl+alt+s starts it.
Start is the enter key to get back into the game once you die, select will hide your cursor.
change the x,y to your screen resolution.
;Written by Stephen Cerbone (importsjc)
xWin := 1920
yWin := 1080
xMid := xWin/2
yMid := yWin/2
isOn = false
deadband := 20
min := 50-deadband
max := 50+deadband
xMouse := 0
yMouse := 0
#Persistent
SetTimer, ReturnMouse, 10
return
;Toggle hold on and off
^!s::
isOn := !isOn
return
Joy5::
;zoom out
if(isOn == true){
Click WheelDown
}
return
Joy8::
;enter
if(isOn == true){
send {enter}
}
return
Joy6::
;zoom in
if(isOn == true){
Click WheelUp
}
return
ReturnMouse:
if(isOn == true){
if(GetKeyState("Joy1","P")){
Click d
}else{
Click u
}
GetKeyState, joyx, 1JoyX
GetKeyState, joyy, 1JoyY
if(joyx > max or joyx < min or joyy > max or joyy < min){
xMouse := 2*(50-joyx)*(-1)
yMouse := 2*(50-joyy)*(-1)
}
MouseMove, (xMid+(xMouse)), (yMid+(yMouse))
}
;ToolTip, X: %xMouse%`nY: %yMouse%
;if(isOn == true){
; MouseMove, xMid, yMid
;}
return
Joy7::
Loop 9
{
x := !x
SystemCursor(x)
}
SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others
{
static AndMask, XorMask, $, h_cursor
,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
, b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors
, h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors
if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call
{
$ = h ; active default cursors
VarSetCapacity( h_cursor,4444, 1 )
VarSetCapacity( AndMask, 32*4, 0xFF )
VarSetCapacity( XorMask, 32*4, 0 )
system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
StringSplit c, system_cursors, `,
Loop %c0%
{
h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% )
h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 )
b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0
, "int",32, "int",32, "uint",&AndMask, "uint",&XorMask )
}
}
if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
$ = b ; use blank cursors
else
$ = h ; use the saved cursors
Loop %c0%
{
h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 )
DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% )
}
}
return