sdl2-2.5.5.0: Both high- and low-level bindings to the SDL library (version 2.0.6+).
Safe HaskellSafe-Inferred
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.

Instances

Instances details
Generic JoystickDevice Source # 
Instance details

Defined in SDL.Input.Joystick

Associated Types

type Rep JoystickDevice :: Type -> Type Source #

Read JoystickDevice Source # 
Instance details

Defined in SDL.Input.Joystick

Show JoystickDevice Source # 
Instance details

Defined in SDL.Input.Joystick

Eq JoystickDevice Source # 
Instance details

Defined in SDL.Input.Joystick

Ord JoystickDevice Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoystickDevice Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoystickDevice = D1 ('MetaData "JoystickDevice" "SDL.Input.Joystick" "sdl2-2.5.5.0-inplace" 'False) (C1 ('MetaCons "JoystickDevice" 'PrefixI 'True) (S1 ('MetaSel ('Just "joystickDeviceName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "joystickDeviceId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CInt)))

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 JoystickID 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.

data Joystick Source #

Instances

Instances details
Data Joystick Source # 
Instance details

Defined in SDL.Internal.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Joystick -> c Joystick Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Joystick Source #

toConstr :: Joystick -> Constr Source #

dataTypeOf :: Joystick -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Joystick) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Joystick) Source #

gmapT :: (forall b. Data b => b -> b) -> Joystick -> Joystick Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Joystick -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Joystick -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Joystick -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Joystick -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Joystick -> m Joystick Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Joystick -> m Joystick Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Joystick -> m Joystick Source #

Generic Joystick Source # 
Instance details

Defined in SDL.Internal.Types

Associated Types

type Rep Joystick :: Type -> Type Source #

Show Joystick Source # 
Instance details

Defined in SDL.Internal.Types

Eq Joystick Source # 
Instance details

Defined in SDL.Internal.Types

Ord Joystick Source # 
Instance details

Defined in SDL.Internal.Types

type Rep Joystick Source # 
Instance details

Defined in SDL.Internal.Types

type Rep Joystick = D1 ('MetaData "Joystick" "SDL.Internal.Types" "sdl2-2.5.5.0-inplace" 'True) (C1 ('MetaCons "Joystick" 'PrefixI 'True) (S1 ('MetaSel ('Just "joystickPtr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Joystick)))

data JoyButtonState Source #

Identifies the state of a joystick button.

Instances

Instances details
Data JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JoyButtonState -> c JoyButtonState Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JoyButtonState Source #

toConstr :: JoyButtonState -> Constr Source #

dataTypeOf :: JoyButtonState -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JoyButtonState) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JoyButtonState) Source #

gmapT :: (forall b. Data b => b -> b) -> JoyButtonState -> JoyButtonState Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JoyButtonState -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JoyButtonState -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> JoyButtonState -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JoyButtonState -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JoyButtonState -> m JoyButtonState Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JoyButtonState -> m JoyButtonState Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JoyButtonState -> m JoyButtonState Source #

Generic JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

Associated Types

type Rep JoyButtonState :: Type -> Type Source #

Read JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

Show JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

Eq JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

Ord JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

FromNumber JoyButtonState Word8 Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoyButtonState Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoyButtonState = D1 ('MetaData "JoyButtonState" "SDL.Input.Joystick" "sdl2-2.5.5.0-inplace" 'False) (C1 ('MetaCons "JoyButtonPressed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JoyButtonReleased" 'PrefixI 'False) (U1 :: Type -> Type))

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.

data JoyHatPosition Source #

Identifies the state of the POV hat on a joystick.

Constructors

HatCentered

Centered position

HatUp

Up position

HatRight

Right position

HatDown

Down position

HatLeft

Left position

HatRightUp

Right-up position

HatRightDown

Right-down position

HatLeftUp

Left-up position

HatLeftDown

Left-down position

Instances

Instances details
Data JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JoyHatPosition -> c JoyHatPosition Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JoyHatPosition Source #

toConstr :: JoyHatPosition -> Constr Source #

dataTypeOf :: JoyHatPosition -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JoyHatPosition) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JoyHatPosition) Source #

gmapT :: (forall b. Data b => b -> b) -> JoyHatPosition -> JoyHatPosition Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JoyHatPosition -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JoyHatPosition -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> JoyHatPosition -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JoyHatPosition -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JoyHatPosition -> m JoyHatPosition Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JoyHatPosition -> m JoyHatPosition Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JoyHatPosition -> m JoyHatPosition Source #

Generic JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

Associated Types

type Rep JoyHatPosition :: Type -> Type Source #

Read JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

Show JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

Eq JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

Ord JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

FromNumber JoyHatPosition Word8 Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoyHatPosition Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoyHatPosition = D1 ('MetaData "JoyHatPosition" "SDL.Input.Joystick" "sdl2-2.5.5.0-inplace" 'False) (((C1 ('MetaCons "HatCentered" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HatUp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HatRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HatDown" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "HatLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HatRightUp" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HatRightDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HatLeftUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HatLeftDown" 'PrefixI 'False) (U1 :: Type -> Type)))))

getHat Source #

Arguments

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

The index of the POV hat. You can use numHats to determine how many POV hats a given joystick has.

-> m JoyHatPosition 

Get current position of a POV hat on a joystick.

See SDL_JoystickGetHat for C documentation.

numHats :: MonadIO m => Joystick -> m CInt Source #

Get the number of POV hats on a joystick.

See SDL_JoystickNumHats for C documentation.

data JoyDeviceConnection Source #

Identifies whether a joystick has been connected or disconnected.

Instances

Instances details
Data JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JoyDeviceConnection -> c JoyDeviceConnection Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JoyDeviceConnection Source #

toConstr :: JoyDeviceConnection -> Constr Source #

dataTypeOf :: JoyDeviceConnection -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c JoyDeviceConnection) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JoyDeviceConnection) Source #

gmapT :: (forall b. Data b => b -> b) -> JoyDeviceConnection -> JoyDeviceConnection Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JoyDeviceConnection -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JoyDeviceConnection -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> JoyDeviceConnection -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JoyDeviceConnection -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JoyDeviceConnection -> m JoyDeviceConnection Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JoyDeviceConnection -> m JoyDeviceConnection Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JoyDeviceConnection -> m JoyDeviceConnection Source #

Generic JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

Associated Types

type Rep JoyDeviceConnection :: Type -> Type Source #

Read JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

Show JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

Eq JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

Ord JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

FromNumber JoyDeviceConnection Word32 Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoyDeviceConnection Source # 
Instance details

Defined in SDL.Input.Joystick

type Rep JoyDeviceConnection = D1 ('MetaData "JoyDeviceConnection" "SDL.Input.Joystick" "sdl2-2.5.5.0-inplace" 'False) (C1 ('MetaCons "JoyDeviceAdded" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JoyDeviceRemoved" 'PrefixI 'False) (U1 :: Type -> Type))