25 #ifndef __I6ENGINE_MODULES_KEYBOARDLISTENER_H__
26 #define __I6ENGINE_MODULES_KEYBOARDLISTENER_H__
35 #include "OIS/OISKeyboard.h"
44 class InputController;
53 typedef std::map<std::pair<api::KeyCode, api::KeyState>, boost::function<void(void)>> InputKeyFunctions;
56 std::array<api::KeyState, size_t(api::KeyCode::COUNT)> _keyStates;
57 std::array<char, size_t(api::KeyCode::COUNT)> _keyTexts;
59 InputKeyFunctions _objInputKeyFunctions;
76 bool keyPressed(
const OIS::KeyEvent & objKeyEvent);
83 bool keyReleased(
const OIS::KeyEvent & objKeyEvent);
92 void setKeyFunction(
const api::KeyCode name,
const api::KeyState type,
const boost::function<
void(
void)> & ptrEventMethod);
100 void removeKeyFunction(
const api::KeyCode name,
const api::KeyState type);
110 void triggerKeyFunction(
const api::KeyCode keyCode,
const api::KeyState type);
Monitors keypresses and sends the corresponding messages to the "Input" message channel.
#define ASSERT_THREAD_SAFETY_HEADER