http://www.libsdl.org/download-1.2.php
NOTE: Press joystick button 2 when you want to close/kill it.

Thanks to Shardik for informing me about PeekS() to get the joystick name.

Code: Select all
ImportC "/System/Library/Frameworks/SDL.framework/SDL"
SDL_Init(flags)
SDL_Quit()
SDL_InitSubSystem (flags)
SDL_QuitSubSystem(flags)
SDL_NumJoysticks()
SDL_JoystickName(device_index)
SDL_JoystickOpen(device_index)
SDL_JoystickOpened(device_index)
SDL_JoystickIndex(*joystick)
SDL_JoystickNumAxes(*joystick)
SDL_JoystickNumBalls(*joystick)
SDL_JoystickNumHats(*joystick)
SDL_JoystickNumButtons(*joystick)
SDL_JoystickUpdate()
SDL_JoystickEventState(state)
SDL_JoystickGetAxis(*joystick, axis)
SDL_JoystickGetHat(*joystick, hat)
SDL_JoystickGetBall(*joystick, ball, *dx, *dy)
SDL_JoystickGetButton(*joystick, button)
SDL_JoystickClose(*joystick)
EndImport
#SDL_INIT_JOYSTICK = 512
#SDL_ENABLE = 1 ; SDL_JoystickEventState
#SDL_QUERY = -1 ; SDL_JoystickEventState
#SDL_IGNORE = 0 ; SDL_JoystickEventState
#SDL_JOYBUTTONDOWN = 10
#SDL_JOYBUTTONUP = 11
#SDL_JOYAXISMOTION = 7
SDL_Init(#SDL_INIT_JOYSTICK)
;SDL_InitSubSystem(#SDL_INIT_JOYSTICK)
Num = SDL_NumJoysticks()
Debug Num
JoyName = SDL_JoystickName(0)
Debug PeekS(JoyName)
joy = SDL_JoystickOpen(0)
Debug joy
Index = SDL_JoystickIndex(joy)
Debug Index
NumButtons = SDL_JoystickNumButtons(joy)
Debug NumButtons
NumAxis = SDL_JoystickNumAxes(joy)
Debug NumAxis
Repeat
SDL_JoystickEventState(#SDL_ENABLE)
B = SDL_JoystickGetButton(joy, 1)
Debug B
X = SDL_JoystickGetAxis(joy, 0)
Debug X
Y = SDL_JoystickGetAxis(joy, 1)
Debug Y
Delay(10)
Until SDL_JoystickGetButton(joy, 2)
SDL_JoystickClose(joy)
;SDL_QuitSubSystem(#SDL_INIT_JOYSTICK)
SDL_Quit()