sdl2-2.0.0: Both high- and low-level bindings to the SDL library (version 2.0.3).

Safe HaskellNone
LanguageHaskell2010

SDL.Input.Joystick

Synopsis

Documentation

numJoysticks :: MonadIO m => m CInt Source

Count the number of joysticks attached to the system.

See SDL_NumJoysticks for C documentation.

availableJoysticks :: MonadIO m => m (Vector JoystickDevice) Source

Enumerate all connected joysticks, retrieving a description of each.

data JoystickDevice Source

A description of joystick that can be opened using openJoystick. To retrieve a list of connected joysticks, use availableJoysticks.

openJoystick Source

Arguments

:: (Functor m, MonadIO m) 
=> JoystickDevice

The device to open. Use availableJoysticks to find JoystickDevicess

-> m Joystick 

Open a joystick so that you can start receiving events from interaction with this joystick.

See SDL_JoystickOpen for C documentation.

closeJoystick :: MonadIO m => Joystick -> m () Source

Close a joystick previously opened with openJoystick.

See SDL_JoystickClose for C documentation.

getJoystickID :: MonadIO m => Joystick -> m Int32 Source

Get the instance ID of an opened joystick. The instance ID is used to identify the joystick in future SDL events.

See SDL_JoystickInstanceID for C documentation.

buttonPressed Source

Arguments

:: (Functor m, MonadIO m) 
=> Joystick 
-> CInt

The index of the button. You can use numButtons to determine how many buttons a given joystick has.

-> m Bool 

Determine if a given button is currently held.

See SDL_JoystickGetButton for C documentation.

ballDelta Source

Arguments

:: MonadIO m 
=> Joystick 
-> CInt

The index of the joystick ball. You can use numBalls to determine how many balls a given joystick has.

-> m (V2 CInt) 

Get the ball axis change since the last poll.

See SDL_JoystickGetBall for C documentation.

axisPosition :: MonadIO m => Joystick -> CInt -> m Int16 Source

Get the current state of an axis control on a joystick.

Returns a 16-bit signed integer representing the current position of the axis. The state is a value ranging from -32768 to 32767.

On most modern joysticks the x-axis is usually represented by axis 0 and the y-axis by axis 1. The value returned by axisPosition is a signed integer (-32768 to 32767) representing the current position of the axis. It may be necessary to impose certain tolerances on these values to account for jitter.

Some joysticks use axes 2 and 3 for extra buttons.

See SDL_JoystickGetAxis for C documentation.

numAxes :: MonadIO m => Joystick -> m CInt Source

Get the number of general axis controls on a joystick.

See SDL_JoystickNumAxes for C documentation.

numButtons :: MonadIO m => Joystick -> m CInt Source

Get the number of buttons on a joystick.

See SDL_JoystickNumButtons for C documentation.

numBalls :: MonadIO m => Joystick -> m CInt Source

Get the number of trackballs on a joystick.

See SDL_JoystickNumBalls for C documentation.