this one uses ToolTip and as it auto expands to accomodate all the text and uses lesser space, i feel it works nicer.
Code:
coordmode, tooltip, screen
#SingleInstance
;SplashTextOn, 400, , JoyStartingTitle
;WinWait, JoyStartingTitle ; Set the last found window.
SetFormat, float, 03 ; Omit decimal point from axis position percentages.
;SetFormat, float, 02 ; Omit decimal point from axis position percentages.
JoyStickNumber = 1 ; Increase this to test a joystick other than the first.
GetKeyState, axis_count, %JoyStickNumber%JoyAxes
if axis_count < 1
{
MsgBox Joystick #%JoyStickNumber% does not appear to be attached to the system.
ExitApp
}
GetKeyState, joy_buttons, %JoyStickNumber%JoyButtons
GetKeyState, joy_name, %JoyStickNumber%JoyName
GetKeyState, joy_info, %JoyStickNumber%JoyInfo
GetKeyState, joy_axes, %JoyStickNumber%JoyAxes
Loop
{
buttons_down =
Loop, %joy_buttons%
{
GetKeyState, joy%a_index%, %JoyStickNumber%joy%a_index%
if joy%a_index% = D
buttons_down = %buttons_down%%a_space%%a_index%
}
GetKeyState, joyx, %JoyStickNumber%JoyX
axis_info = X%joyy%
GetKeyState, joyy, %JoyStickNumber%JoyY
axis_info = %axis_info%%a_space%%a_space%Y%joyy%
IfInString, joy_info, Z
{
GetKeyState, joyz, %JoyStickNumber%JoyZ
axis_info = %axis_info%%a_space%%a_space%Z%joyz%
}
IfInString, joy_info, R
{
GetKeyState, joyr, %JoyStickNumber%JoyR
axis_info = %axis_info%%a_space%%a_space%R%joyr%
}
IfInString, joy_info, U
{
GetKeyState, joyu, %JoyStickNumber%JoyU
axis_info = %axis_info%%a_space%%a_space%U%joyu%
}
IfInString, joy_info, V
{
GetKeyState, joyv, %JoyStickNumber%JoyV
axis_info = %axis_info%%a_space%%a_space%V%joyv%
}
IfInString, joy_info, P
{
GetKeyState, joyp, %JoyStickNumber%JoyPOV
axis_info = %axis_info%%a_space%%a_space%POV%joyp%
}
; It's a little less rough on the system to use WinSetTitle vs. SplashTextOn:
ToolTip, %joy_name%: %axis_info% Buttons Down: %buttons_down%, 0, 0
Sleep, 100
}
return
#x::Exitapp