diff options
Diffstat (limited to 'src/Xanthous/Command.hs')
-rw-r--r-- | src/Xanthous/Command.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Xanthous/Command.hs b/src/Xanthous/Command.hs new file mode 100644 index 000000000000..50fe4abb4561 --- /dev/null +++ b/src/Xanthous/Command.hs @@ -0,0 +1,20 @@ +module Xanthous.Command where + +import Graphics.Vty.Input (Key(..), Modifier(..)) + +import Xanthous.Prelude hiding (Left, Right, Down) +import Xanthous.Data (Direction(..)) + +data Command + = Quit + | Move Direction + | PickUp + | PreviousMessage + +commandFromKey :: Key -> [Modifier] -> Maybe Command +commandFromKey (KChar 'q') [] = Just Quit +commandFromKey (KChar 'h') [] = Just $ Move Left +commandFromKey (KChar 'j') [] = Just $ Move Down +commandFromKey (KChar 'k') [] = Just $ Move Up +commandFromKey (KChar 'l') [] = Just $ Move Right +commandFromKey _ _ = Nothing |