LambdaHack-0.2.6: A roguelike game engine in early and active development

Safe HaskellNone



Generic binding of keys to commands, procesing macros, printing command help. No operation in this module involves the State or Action type.



data Binding a Source

Bindings and other information about player commands.




kcmd :: Map (Key, Modifier) (String, Bool, a)

binding keys to commands

kmacro :: Map Key Key

macro map

kmajor :: [Key]

major, most often used, commands

kdir :: [(Key, Modifier)]

direction keys for moving and running

krevMap :: Map Cmd Key

map from cmds to their main keys

macroKey :: [(String, String)] -> Map Key KeySource

Produce the macro map from a macro association list taken from the config file. Macros cannot depend on each other. The map is fully evaluated to catch errors in macro definitions early.

keyHelp :: Binding a -> [Overlay]Source

Produce a set of help screens from the key bindings.