module Keymap ( default_keymap, default_dir_keymap ) where import qualified Data.Map as M (fromList, insert, Map) import Util.Grid import Keys import World import Actions default_dir_keymap :: M.Map Key Direction default_dir_keymap = M.fromList [ (Key_UP, (0, -1)), (Key_DOWN, (0, 1)), (Key_LEFT, (-1, 0)), (Key_RIGHT, (1, 0)), (Key_UPLEFT, (-1, -1)), (Key_HOME, (-1, -1)), (Key_UPRIGHT, (1, -1)), (Key_PPAGE, (1, -1)), (Key_DOWNLEFT, (-1, 1)), (Key_END, (-1, 1)), (Key_DOWNRIGHT, (1, 1)), (Key_NPAGE, (1, 1)) ] default_keymap :: Keymap default_keymap = (fmap do_move default_dir_keymap) `addListToMap` [ (Key 'c', do_close_door), (Key 'Q', do_quit), (Key 'X', do_big_map) ] where addListToMap = foldr (uncurry M.insert)