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