Index: code/trunk/src/core/InputBuffer.cc
===================================================================
--- code/trunk/src/core/InputBuffer.cc	(revision 1064)
+++ code/trunk/src/core/InputBuffer.cc	(revision 1066)
@@ -38,10 +38,10 @@
     InputBuffer::InputBuffer()
     {
-        this->bActivated_ = false;
+        //this->bActivated_ = false;
         this->allowedChars_ = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZäöüÄÖÜ0123456789 \\\"().:,;_-+*/=!?<>[|]";
         this->keyboard_ = InputManager::getSingleton().getKeyboard();
         this->buffer_ = "";
 
-        this->keyboard_->setEventCallback(this);
+        //this->keyboard_->setEventCallback(this);
     }
 /*
@@ -114,7 +114,7 @@
     }
 
-    void InputBuffer::activityChanged() const
+    /*void InputBuffer::activityChanged() const
     {
-    }
+    }*/
 
     bool InputBuffer::charIsAllowed(const char& input)
@@ -128,10 +128,10 @@
     bool InputBuffer::keyPressed(const OIS::KeyEvent &e)
     {
-        if (e.key == OIS::KC_NUMPADENTER)
+        /*if (e.key == OIS::KC_NUMPADENTER)
         {
             this->setActivated(!this->isActivated());
             this->clear();
             return true;
-        }
+        }*/
 
         if (this->keyboard_->isModifierDown(OIS::Keyboard::Ctrl))
@@ -169,14 +169,11 @@
         }
 
-        if (this->bActivated_)
-        {
-//std::cout << this->keyboard_->getAsString(e.key) << " / " << (char)e.text << std::endl;
-/*
-            std::string input = this->keyboard_->getAsString(e.key);
-            if (input.size() >= 1)
-                this->append(input[0]);
-*/
-            this->append((char)e.text);
-        }
+        //std::cout << this->keyboard_->getAsString(e.key) << " / " << (char)e.text << std::endl;
+
+        std::string input = this->keyboard_->getAsString(e.key);
+        /*if (input.size() >= 1)
+            this->append(input[0]);*/
+
+        this->append((char)e.text);
         return true;
     }
Index: code/trunk/src/core/InputBuffer.h
===================================================================
--- code/trunk/src/core/InputBuffer.h	(revision 1064)
+++ code/trunk/src/core/InputBuffer.h	(revision 1066)
@@ -44,6 +44,5 @@
 {
     class _CoreExport InputBufferListener
-    {
-    };
+    {};
 
     class _CoreExport InputBuffer : public OIS::KeyListener
@@ -99,5 +98,5 @@
                 { return this->buffer_; }
 
-            inline void activate()
+            /*inline void activate()
                 { this->setActivated(true); }
             inline void deactivate()
@@ -108,5 +107,5 @@
                 { return this->bActivated_; }
 
-            void activityChanged() const;
+            void activityChanged() const;*/
 
         private:
@@ -117,5 +116,5 @@
 
             OIS::Keyboard* keyboard_;
-            bool bActivated_;
+            //bool bActivated_;
             std::string buffer_;
             std::list<InputBufferListenerTuple> listeners_;
Index: code/trunk/src/core/InputHandler.cc
===================================================================
--- code/trunk/src/core/InputHandler.cc	(revision 1064)
+++ code/trunk/src/core/InputHandler.cc	(revision 1066)
@@ -37,4 +37,5 @@
 #include "InputEventListener.h"
 #include "InputEvent.h"
+#include "InputManager.h"
 
 namespace orxonox
@@ -83,4 +84,8 @@
       InputEvent e = {1, true, 0, 0, 0};
       InputHandlerGame::callListeners(e);
+    }
+    else if (e.key == OIS::KC_NUMPADENTER)
+    {
+      InputManager::getSingleton().setInputMode(IM_KEYBOARD);
     }
     else
Index: code/trunk/src/core/InputManager.cc
===================================================================
--- code/trunk/src/core/InputManager.cc	(revision 1064)
+++ code/trunk/src/core/InputManager.cc	(revision 1066)
@@ -38,12 +38,8 @@
 #include "InputEventListener.h"
 #include "InputHandler.h"
+#include "InputBuffer.h"
 
 namespace orxonox
 {
-  /**
-    @brief The reference to the singleton
-  */
-  //InputManager* InputManager::singletonRef_s = 0;
-
   /**
     @brief Constructor only resets the pointer values to 0.
@@ -126,4 +122,5 @@
     this->handlerGUI_ = new InputHandlerGUI();
     this->handlerGame_ = new InputHandlerGame();
+    //this->handlerBuffer_ = new InputBuffer();
     this->handlerGame_->loadBindings();
 
@@ -244,3 +241,9 @@
   }
 
+  void InputManager::feedInputBuffer(InputBuffer* buffer)
+  {
+    this->handlerBuffer_ = buffer;
+  }
+
+
 }
Index: code/trunk/src/core/InputManager.h
===================================================================
--- code/trunk/src/core/InputManager.h	(revision 1064)
+++ code/trunk/src/core/InputManager.h	(revision 1066)
@@ -75,4 +75,7 @@
     InputMode getInputMode();
 
+    // temporary hack
+    void feedInputBuffer(InputBuffer* buffer);
+
     // Temporary solutions. Will be removed soon!
     OIS::Mouse    *getMouse()    { return this->mouse_   ; }
@@ -96,5 +99,5 @@
     InputHandlerGUI   *handlerGUI_;     //!< Handles the input if in GUI mode
     // FIXME: insert the InputBuffer once merged with core2
-    InputHandlerGUI   *handlerBuffer_;  //!< Handles the input if in Buffer mode
+    InputBuffer       *handlerBuffer_;  //!< Handles the input if in Buffer mode
     InputHandlerGame  *handlerGame_;    //!< Handles the input if in Game mode
 
