Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 4409)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 4410)
@@ -422,8 +422,8 @@
   orx->getLocalInput()->bind (localPlayer);
 
-  this->eventHandler->subscribe(this->localPlayer, ES_ALL, KeyMapper::PEV_UP);
-  this->eventHandler->subscribe(this->localPlayer, ES_ALL, KeyMapper::PEV_DOWN);
-  this->eventHandler->subscribe(this->localPlayer, ES_ALL, KeyMapper::PEV_LEFT);
-  this->eventHandler->subscribe(this->localPlayer, ES_ALL, KeyMapper::PEV_RIGHT);
+  this->eventHandler->subscribe(this->localPlayer, ES_GAME, KeyMapper::PEV_UP);
+  this->eventHandler->subscribe(this->localPlayer, ES_GAME, KeyMapper::PEV_DOWN);
+  this->eventHandler->subscribe(this->localPlayer, ES_GAME, KeyMapper::PEV_LEFT);
+  this->eventHandler->subscribe(this->localPlayer, ES_GAME, KeyMapper::PEV_RIGHT);
   
   // bind camera
Index: /orxonox/trunk/src/util/event/key_mapper.cc
===================================================================
--- /orxonox/trunk/src/util/event/key_mapper.cc	(revision 4409)
+++ /orxonox/trunk/src/util/event/key_mapper.cc	(revision 4410)
@@ -43,5 +43,13 @@
 int KeyMapper::PEV_VIEW3 = -1;
 int KeyMapper::PEV_VIEW4 = -1;
-int KeyMapper::PEV_VIEW5 = -1;
+int KeyMapper::PEV_VIEW5 = -1; 
+
+int KeyMapper::PEV_NEXT_WORLD = -1;
+int KeyMapper::PEV_PREVIOUS_WORLD = -1;
+
+int KeyMapper::PEV_PAUSE = -1;
+int KeyMapper::PEV_QUIT = -1;
+
+
 
 
@@ -62,5 +70,11 @@
 			{&KeyMapper::PEV_VIEW3, "view3"},
 			{&KeyMapper::PEV_VIEW4, "view4"},
-			{&KeyMapper::PEV_VIEW5, "view5"},			
+			{&KeyMapper::PEV_VIEW5, "view5"},
+
+			{&KeyMapper::PEV_NEXT_WORLD, "Next-World"},
+			{&KeyMapper::PEV_PREVIOUS_WORLD, "Prev-World"},
+
+			{&KeyMapper::PEV_PAUSE, "Pause"},
+			{&KeyMapper::PEV_QUIT, "Quit"},
                         {NULL, NULL}};
 
Index: /orxonox/trunk/src/util/event/key_mapper.h
===================================================================
--- /orxonox/trunk/src/util/event/key_mapper.h	(revision 4409)
+++ /orxonox/trunk/src/util/event/key_mapper.h	(revision 4410)
@@ -57,4 +57,10 @@
   static int PEV_VIEW5;
 
+  static int PEV_NEXT_WORLD;
+  static int PEV_PREVIOUS_WORLD;
+
+  static int PEV_PAUSE;
+  static int PEV_QUIT;
+
  private:
   Sint32 coord[2];
Index: /orxonox/trunk/src/util/loading/game_loader.cc
===================================================================
--- /orxonox/trunk/src/util/loading/game_loader.cc	(revision 4409)
+++ /orxonox/trunk/src/util/loading/game_loader.cc	(revision 4410)
@@ -26,4 +26,6 @@
 #include "resource_manager.h"
 #include "factory.h"
+#include "event.h"
+#include "event_handler.h"
 
 #include <string.h>
@@ -256,4 +258,36 @@
 
 
+void GameLoader::process(const Event& event)
+{
+  if( event.type == KeyMapper::PEV_NEXT_WORLD)
+    {
+      if( likely(event.bPressed)) 
+	{
+	  this->nextLevel();
+	}
+    }
+  else if( event.type == KeyMapper::PEV_PREVIOUS_WORLD)
+    {
+      if( likely(event.bPressed))
+	{
+	  this->previousLevel();
+	}
+    }
+  else if( event.type == KeyMapper::PEV_PAUSE)
+    {
+      if( likely(event.bPressed))
+	{
+	  if(this->isPaused)
+	    this->resume();
+	  else
+	    this->pause();
+	}
+    }
+  else if( event.type == KeyMapper::PEV_QUIT)
+    {
+      if( event.bPressed) this->stop();
+    }
+}
+
 /*
   \brief this changes to the next level
Index: /orxonox/trunk/src/util/loading/game_loader.h
===================================================================
--- /orxonox/trunk/src/util/loading/game_loader.h	(revision 4409)
+++ /orxonox/trunk/src/util/loading/game_loader.h	(revision 4410)
@@ -10,4 +10,5 @@
 #include "story_def.h"
 #include "comincl.h"
+#include "event_listener.h"
 
 
@@ -22,4 +23,5 @@
 class TiXmlElement;
 class BaseObject;
+class Event;
 
 //! The GameLoader
@@ -35,5 +37,5 @@
       world. this is done by callaing those StoryEntity::start()
 */
-class GameLoader 
+class GameLoader : public EventListener
 {
 
@@ -58,4 +60,6 @@
   BaseObject* fabricate( TiXmlElement* data);
 
+  void process(const Event &event);
+
  private:
   GameLoader ();
