vulkan-tutorial/extern/affection/src/Affection/MessageBus/Message/KeyboardMessage.hs
nek0 8c037f69ce Add 'extern/affection/' from commit '9b7b1c6167b4fa516b91759ca86139ede07f231d'
git-subtree-dir: extern/affection
git-subtree-mainline: f422f94794
git-subtree-split: 9b7b1c6167
2022-07-09 20:36:04 +02:00

27 lines
827 B
Haskell

module Affection.MessageBus.Message.KeyboardMessage
( KeyboardMessage(..)
-- | SDL reexports
, SDL.Window
, SDL.InputMotion
, SDL.Keysym
) where
import Affection.MessageBus.Message.Class
import qualified SDL
-- | Dataatype for handling all keyboard events haded down from SDL2
data KeyboardMessage
-- | Arbitrary Keyboard event
= MsgKeyboardEvent
{ msgKbdWhen :: Double -- ^ Message time
, msgKbdWindow :: Maybe SDL.Window -- ^ Affected Window
, msgKbdKeyMotion :: SDL.InputMotion -- ^ Input motion of button (pressed/released)
, msgKbdKeyRepeat :: Bool -- ^ Is this a repeated event?
, msgKbdKeysym :: SDL.Keysym -- ^ The button's 'SDL.Keysym'
}
deriving (Show)
instance Message KeyboardMessage where
msgTime (MsgKeyboardEvent t _ _ _ _) = t