----------------------------------------------------------------------------- -- | -- Module : Graphics.FreeGame.Input -- Copyright : (C) 2013 Fumiaki Kinoshita -- License : BSD-style (see the file LICENSE) -- -- Maintainer : Fumiaki Kinsohita -- Stability : experimental -- Portability : non-portable -- ---------------------------------------------------------------------------- module Graphics.FreeGame.Input ( Button(..) -- * Deprecated , Key , MouseState(..) ) where import Data.Vect -- | Buttons. data Button = KeyChar Char | KeySpace | KeyEsc | KeyF1 | KeyF2 | KeyF3 | KeyF4 | KeyF5 | KeyF6 | KeyF7 | KeyF8 | KeyF9 | KeyF10 | KeyF11 | KeyF12 | KeyLeftShift | KeyRightShift | KeyLeftControl | KeyRightControl | KeyUp | KeyDown | KeyLeft | KeyRight | KeyTab | KeyEnter | KeyBackspace | KeyInsert | KeyDelete | KeyPageUp | KeyPageDown | KeyHome | KeyEnd | KeyPad0 | KeyPad1 | KeyPad2 | KeyPad3 | KeyPad4 | KeyPad5 | KeyPad6 | KeyPad7 | KeyPad8 | KeyPad9 | KeyPadDivide | KeyPadMultiply | KeyPadSubtract | KeyPadAdd | KeyPadDecimal | KeyPadEqual | KeyPadEnter | MouseLeft | MouseRight | MouseMiddle deriving (Show, Eq, Ord) data MouseState = MouseState { mousePosition :: Vec2 , leftButton :: Bool , middleButton :: Bool , rightButton :: Bool , mouseWheel :: Int } deriving Show {-# DEPRECATED Key "use Button instead" #-} -- Deprecated synonym for 'Button'. type Key = Button