Safe Haskell | None |
---|---|
Language | Haskell2010 |
SDL.Input.Keyboard
Synopsis
- getModState :: (Functor m, MonadIO m) => m KeyModifier
- data KeyModifier = KeyModifier {
- keyModifierLeftShift :: Bool
- keyModifierRightShift :: Bool
- keyModifierLeftCtrl :: Bool
- keyModifierRightCtrl :: Bool
- keyModifierLeftAlt :: Bool
- keyModifierRightAlt :: Bool
- keyModifierLeftGUI :: Bool
- keyModifierRightGUI :: Bool
- keyModifierNumLock :: Bool
- keyModifierCapsLock :: Bool
- keyModifierAltGr :: Bool
- getKeyboardState :: MonadIO m => m (Scancode -> Bool)
- startTextInput :: MonadIO m => Rect -> m ()
- stopTextInput :: MonadIO m => m ()
- hasScreenKeyboardSupport :: MonadIO m => m Bool
- isScreenKeyboardShown :: MonadIO m => Window -> m Bool
- getScancodeName :: MonadIO m => Scancode -> m String
- newtype Scancode = Scancode {
- unwrapScancode :: Word32
- newtype Keycode = Keycode {
- unwrapKeycode :: Int32
- data Keysym = Keysym {}
- module SDL.Input.Keyboard.Codes
Keyboard Modifiers
getModState :: (Functor m, MonadIO m) => m KeyModifier Source #
Get the current key modifier state for the keyboard. The key modifier state is a mask special keys that are held down.
See SDL_GetModState
for C documentation.
data KeyModifier Source #
Information about which keys are currently held down. Use getModState
to generate this information.
Constructors
KeyModifier | |
Fields
|
Instances
Eq KeyModifier Source # | |
Defined in SDL.Input.Keyboard | |
Data KeyModifier Source # | |
Defined in SDL.Input.Keyboard Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyModifier -> c KeyModifier gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeyModifier toConstr :: KeyModifier -> Constr dataTypeOf :: KeyModifier -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c KeyModifier) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeyModifier) gmapT :: (forall b. Data b => b -> b) -> KeyModifier -> KeyModifier gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyModifier -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyModifier -> r gmapQ :: (forall d. Data d => d -> u) -> KeyModifier -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyModifier -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyModifier -> m KeyModifier gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyModifier -> m KeyModifier gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyModifier -> m KeyModifier | |
Ord KeyModifier Source # | |
Defined in SDL.Input.Keyboard Methods compare :: KeyModifier -> KeyModifier -> Ordering (<) :: KeyModifier -> KeyModifier -> Bool (<=) :: KeyModifier -> KeyModifier -> Bool (>) :: KeyModifier -> KeyModifier -> Bool (>=) :: KeyModifier -> KeyModifier -> Bool max :: KeyModifier -> KeyModifier -> KeyModifier min :: KeyModifier -> KeyModifier -> KeyModifier | |
Read KeyModifier Source # | |
Defined in SDL.Input.Keyboard Methods readsPrec :: Int -> ReadS KeyModifier readList :: ReadS [KeyModifier] readPrec :: ReadPrec KeyModifier readListPrec :: ReadPrec [KeyModifier] | |
Show KeyModifier Source # | |
Defined in SDL.Input.Keyboard Methods showsPrec :: Int -> KeyModifier -> ShowS show :: KeyModifier -> String showList :: [KeyModifier] -> ShowS | |
Generic KeyModifier Source # | |
Defined in SDL.Input.Keyboard Associated Types type Rep KeyModifier :: Type -> Type | |
ToNumber KeyModifier Word32 Source # | |
Defined in SDL.Input.Keyboard Methods toNumber :: KeyModifier -> Word32 Source # | |
FromNumber KeyModifier Word32 Source # | |
Defined in SDL.Input.Keyboard Methods fromNumber :: Word32 -> KeyModifier Source # | |
type Rep KeyModifier Source # | |
Defined in SDL.Input.Keyboard type Rep KeyModifier = D1 ('MetaData "KeyModifier" "SDL.Input.Keyboard" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "KeyModifier" 'PrefixI 'True) (((S1 ('MetaSel ('Just "keyModifierLeftShift") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "keyModifierRightShift") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "keyModifierLeftCtrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "keyModifierRightCtrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "keyModifierLeftAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "keyModifierRightAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "keyModifierLeftGUI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "keyModifierRightGUI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "keyModifierNumLock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "keyModifierCapsLock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "keyModifierAltGr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))) |
getKeyboardState :: MonadIO m => m (Scancode -> Bool) Source #
Get a snapshot of the current state of the keyboard.
This computation generates a mapping from Scancode
to Bool
- evaluating the function at specific Scancode
s will inform you as to whether or not that key was held down when getKeyboardState
was called.
See SDL_GetKeyboardState
for C documentation.
Text Input
startTextInput :: MonadIO m => Rect -> m () Source #
Set the rectangle used to type text inputs and start accepting text input events.
See SDL_StartTextInput
for C documentation.
stopTextInput :: MonadIO m => m () Source #
Stop receiving any text input events.
See SDL_StopTextInput
for C documentation.
Screen Keyboard
hasScreenKeyboardSupport :: MonadIO m => m Bool Source #
Check whether the platform has screen keyboard support.
See SDL_HasScreenKeyboardSupport
for C documentation.
isScreenKeyboardShown :: MonadIO m => Window -> m Bool Source #
Check whether the screen keyboard is shown for the given window.
See SDL_IsScreenKeyboardShown
for C documentation.
Scancodes
getScancodeName :: MonadIO m => Scancode -> m String Source #
Get a human-readable name for a scancode. If the scancode doesn't have a name this function returns the empty string.
See SDL_GetScancodeName
for C documentation.
Constructors
Scancode | |
Fields
|
Instances
Bounded Scancode Source # | |
Defined in SDL.Input.Keyboard.Codes | |
Eq Scancode Source # | |
Data Scancode Source # | |
Defined in SDL.Input.Keyboard.Codes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Scancode -> c Scancode gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Scancode toConstr :: Scancode -> Constr dataTypeOf :: Scancode -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Scancode) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Scancode) gmapT :: (forall b. Data b => b -> b) -> Scancode -> Scancode gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Scancode -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Scancode -> r gmapQ :: (forall d. Data d => d -> u) -> Scancode -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Scancode -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Scancode -> m Scancode gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Scancode -> m Scancode gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Scancode -> m Scancode | |
Ord Scancode Source # | |
Defined in SDL.Input.Keyboard.Codes | |
Read Scancode Source # | |
Defined in SDL.Input.Keyboard.Codes | |
Show Scancode Source # | |
Generic Scancode Source # | |
ToNumber Scancode Word32 Source # | |
Defined in SDL.Input.Keyboard.Codes | |
FromNumber Scancode Word32 Source # | |
Defined in SDL.Input.Keyboard.Codes Methods fromNumber :: Word32 -> Scancode Source # | |
type Rep Scancode Source # | |
Defined in SDL.Input.Keyboard.Codes type Rep Scancode = D1 ('MetaData "Scancode" "SDL.Input.Keyboard.Codes" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'True) (C1 ('MetaCons "Scancode" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapScancode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) |
Keycodes
Constructors
Keycode | |
Fields
|
Instances
Bounded Keycode Source # | |
Defined in SDL.Input.Keyboard.Codes | |
Eq Keycode Source # | |
Data Keycode Source # | |
Defined in SDL.Input.Keyboard.Codes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keycode -> c Keycode gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keycode dataTypeOf :: Keycode -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Keycode) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keycode) gmapT :: (forall b. Data b => b -> b) -> Keycode -> Keycode gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keycode -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keycode -> r gmapQ :: (forall d. Data d => d -> u) -> Keycode -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Keycode -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keycode -> m Keycode gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keycode -> m Keycode gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keycode -> m Keycode | |
Ord Keycode Source # | |
Read Keycode Source # | |
Defined in SDL.Input.Keyboard.Codes | |
Show Keycode Source # | |
Generic Keycode Source # | |
ToNumber Keycode Int32 Source # | |
Defined in SDL.Input.Keyboard.Codes | |
FromNumber Keycode Int32 Source # | |
Defined in SDL.Input.Keyboard.Codes Methods fromNumber :: Int32 -> Keycode Source # | |
type Rep Keycode Source # | |
Defined in SDL.Input.Keyboard.Codes type Rep Keycode = D1 ('MetaData "Keycode" "SDL.Input.Keyboard.Codes" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'True) (C1 ('MetaCons "Keycode" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapKeycode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))) |
Keysym
Information about a key press or key release event.
Constructors
Keysym | |
Fields
|
Instances
Eq Keysym Source # | |
Data Keysym Source # | |
Defined in SDL.Input.Keyboard Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Keysym -> c Keysym gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Keysym dataTypeOf :: Keysym -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Keysym) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Keysym) gmapT :: (forall b. Data b => b -> b) -> Keysym -> Keysym gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Keysym -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Keysym -> r gmapQ :: (forall d. Data d => d -> u) -> Keysym -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Keysym -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Keysym -> m Keysym gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Keysym -> m Keysym gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Keysym -> m Keysym | |
Ord Keysym Source # | |
Read Keysym Source # | |
Defined in SDL.Input.Keyboard | |
Show Keysym Source # | |
Generic Keysym Source # | |
type Rep Keysym Source # | |
Defined in SDL.Input.Keyboard type Rep Keysym = D1 ('MetaData "Keysym" "SDL.Input.Keyboard" "sdl2-2.5.2.0-Cx4Ipj2keSJFpflqvJYEGr" 'False) (C1 ('MetaCons "Keysym" 'PrefixI 'True) (S1 ('MetaSel ('Just "keysymScancode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Scancode) :*: (S1 ('MetaSel ('Just "keysymKeycode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Keycode) :*: S1 ('MetaSel ('Just "keysymModifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KeyModifier)))) |
Keycodes and Scancodes
module SDL.Input.Keyboard.Codes