29#ifndef NOMLIB_SYSTEM_INPUT_MAPPER_INPUT_ACTION_MAPPER_HPP
30#define NOMLIB_SYSTEM_INPUT_MAPPER_INPUT_ACTION_MAPPER_HPP
35#include "nomlib/config.hpp"
36#include "nomlib/system/Event.hpp"
49 friend class InputStateMapper;
52 typedef std::multimap<std::string, std::shared_ptr<InputAction>> ActionMap;
53 typedef std::pair<std::string, std::shared_ptr<InputAction>> ActionPair;
66 const event_callback& callback );
69 bool erase(
const std::string& key );
75 const ActionMap&
get(
void )
const;
84#define NOM_CONNECT_INPUT_MAPPING(obj, key, action, func, ...) \
85 ( obj.insert( key, action, nom::event_callback( [&](const nom::Event& evt) { func( __VA_ARGS__ ); } ) ) )