/AutoHotkey.docset/Contents/Resources/Documents/scripts/JoystickTest.htm
HTML | 104 lines | 97 code | 7 blank | 0 comment | 0 complexity | 1eada67ed960b25678e4e8de5a2a5ff1 MD5 | raw file
- <!DOCTYPE HTML>
- <html>
- <head>
- <title>Joystick Test Script</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <link href="../static/theme.css" rel="stylesheet" type="text/css" />
- <script src="../static/content.js" type="text/javascript"></script>
- </head>
- <body>
- <h1>Joystick Test Script</h1>
- <p>This script helps determine the button numbers and other attributes
- of your joystick. It might also reveal if your joystick is in need
- of calibration; that is, whether the range of motion of each of its
- axes is from 0 to 100 percent as it should be. If calibration is
- needed, use the operating system's control panel or the software
- that came with your joystick.
- </p>
- <p><a href="JoystickTest.ahk">Download This Script</a> | <a href="index.htm">Other Sample Scripts</a> | <a href="../AutoHotkey.htm">Home</a></p>
- <pre class="NoIndent"><em>; July 6, 2005: Added auto-detection of joystick number.
- ; May 8, 2005 : Fixed: JoyAxes is no longer queried as a means of
- ; detecting whether the joystick is connected. Some joysticks are
- ; gamepads and don't have even a single axis.</em>
- <em>; If you want to unconditionally use a specific joystick number, change
- ; the following value from 0 to the number of the joystick (1-16).
- ; A value of 0 causes the joystick number to be auto-detected:</em>
- JoystickNumber = 0
- <em>; END OF CONFIG SECTION. Do not make changes below this point unless
- ; you wish to alter the basic functionality of the script.</em>
- <em>; Auto-detect the joystick number if called for:</em>
- if JoystickNumber <= 0
- {
- Loop 16 <em>; Query each joystick number to find out which ones exist.</em>
- {
- GetKeyState, JoyName, %A_Index%JoyName
- if JoyName <>
- {
- JoystickNumber = %A_Index%
- break
- }
- }
- if JoystickNumber <= 0
- {
- MsgBox The system does not appear to have any joysticks.
- ExitApp
- }
- }
- #SingleInstance
- SetFormat, float, 03 <em>; Omit decimal point from axis position percentages.</em>
- GetKeyState, joy_buttons, %JoystickNumber%JoyButtons
- GetKeyState, joy_name, %JoystickNumber%JoyName
- GetKeyState, joy_info, %JoystickNumber%JoyInfo
- 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%joyx%
- 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%
- }
- ToolTip, %joy_name% (#%JoystickNumber%):`n%axis_info%`nButtons Down: %buttons_down%`n`n(right-click the tray icon to exit)
- Sleep, 100
- }
- return
- </pre>
- </body>
- </html>