Index: branches/powerups/src/lib/event/event_handler.cc
===================================================================
--- branches/powerups/src/lib/event/event_handler.cc	(revision 5965)
+++ branches/powerups/src/lib/event/event_handler.cc	(revision 5985)
@@ -47,4 +47,5 @@
   this->flush(ES_ALL);
   this->withUNICODE(false);
+  this->grabEvents(false);
 
   this->state = ES_GAME;
@@ -255,4 +256,12 @@
 }
 
+void EventHandler::grabEvents(bool grabEvents)
+{
+     this->eventsGrabbed = grabEvents;
+     if(!grabEvents)
+      SDL_WM_GrabInput(SDL_GRAB_OFF);
+     else
+      SDL_WM_GrabInput(SDL_GRAB_ON); 
+}
 
 /**
Index: branches/powerups/src/lib/event/event_handler.h
===================================================================
--- branches/powerups/src/lib/event/event_handler.h	(revision 5965)
+++ branches/powerups/src/lib/event/event_handler.h	(revision 5985)
@@ -43,4 +43,5 @@
 
   void withUNICODE(bool enableUNICODE);
+  void grabEvents(bool grabEvents);
 
   void process();
@@ -62,4 +63,5 @@
 
   bool                       bUNICODE;                        //!< If unicode should be enabled.
+  bool                       eventsGrabbed;                   //!< If the events should be grabbed
 };
 
Index: branches/powerups/src/lib/event/key_mapper.cc
===================================================================
--- branches/powerups/src/lib/event/key_mapper.cc	(revision 5965)
+++ branches/powerups/src/lib/event/key_mapper.cc	(revision 5985)
@@ -37,4 +37,6 @@
 int KeyMapper::PEV_LEFT              = EV_UNKNOWN;
 int KeyMapper::PEV_RIGHT             = EV_UNKNOWN;
+int KeyMapper::PEV_ROLL_LEFT         = EV_UNKNOWN;
+int KeyMapper::PEV_ROLL_RIGHT        = EV_UNKNOWN;
 int KeyMapper::PEV_STRAFE_LEFT       = EV_UNKNOWN;
 int KeyMapper::PEV_STRAFE_RIGHT      = EV_UNKNOWN;
@@ -69,4 +71,6 @@
   {&KeyMapper::PEV_LEFT,                 CONFIG_NAME_PLAYER_LEFT},
   {&KeyMapper::PEV_RIGHT,                CONFIG_NAME_PLAYER_RIGHT},
+  {&KeyMapper::PEV_ROLL_LEFT,            CONFIG_NAME_PLAYER_ROLL_RIGHT},
+  {&KeyMapper::PEV_ROLL_RIGHT,           CONFIG_NAME_PLAYER_ROLL_LEFT},
   {&KeyMapper::PEV_STRAFE_LEFT,          "StrafeLeft"},
   {&KeyMapper::PEV_STRAFE_RIGHT,         "StrafeRight"},
Index: branches/powerups/src/lib/event/key_mapper.h
===================================================================
--- branches/powerups/src/lib/event/key_mapper.h	(revision 5965)
+++ branches/powerups/src/lib/event/key_mapper.h	(revision 5985)
@@ -44,4 +44,7 @@
   static int PEV_RIGHT;             //!< right button
 
+  static int PEV_ROLL_LEFT;         //!< rolls left
+  static int PEV_ROLL_RIGHT;        //!< rolls right
+
   static int PEV_STRAFE_LEFT;       //!< strafe left button
   static int PEV_STRAFE_RIGHT;      //!< strafe right button
Index: branches/powerups/src/lib/graphics/light.cc
===================================================================
--- branches/powerups/src/lib/graphics/light.cc	(revision 5965)
+++ branches/powerups/src/lib/graphics/light.cc	(revision 5985)
@@ -274,5 +274,5 @@
   while (element != NULL)
   {
-    Factory::getFirst()->fabricate(element);
+    Factory::fabricate(element);
 
     element = element->NextSiblingElement();
Index: branches/powerups/src/lib/gui/gtk_gui/gui_keys.cc
===================================================================
--- branches/powerups/src/lib/gui/gtk_gui/gui_keys.cc	(revision 5965)
+++ branches/powerups/src/lib/gui/gtk_gui/gui_keys.cc	(revision 5985)
@@ -115,8 +115,10 @@
 
         pKeysBox->setGroupName(player);
-        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_UP, "UP"));
-        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_DOWN, "DOWN"));
-        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_LEFT, "LEFT"));
-        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_RIGHT, "RIGHT"));
+        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_UP, "w"));
+        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_DOWN, "s"));
+        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_LEFT, "a"));
+        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_RIGHT, "d"));
+        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_ROLL_LEFT, "q"));
+        pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_ROLL_RIGHT, "e"));
         pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_FIRE, "BUTTON_LEFT"));
         pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_NEXT_WEAPON, "m"));
Index: branches/powerups/src/lib/math/vector.h
===================================================================
--- branches/powerups/src/lib/math/vector.h	(revision 5965)
+++ branches/powerups/src/lib/math/vector.h	(revision 5985)
@@ -21,6 +21,6 @@
 */
 
-#ifndef _VECTOR_H
-#define _VECTOR_H
+#ifndef __VECTOR_H_
+#define __VECTOR_H_
 
 #include <math.h>
@@ -318,4 +318,4 @@
 
 
-#endif /* _VECTOR_H */
-
+#endif /* __VECTOR_H_ */
+
Index: branches/powerups/src/lib/physics/physics_engine.cc
===================================================================
--- branches/powerups/src/lib/physics/physics_engine.cc	(revision 5965)
+++ branches/powerups/src/lib/physics/physics_engine.cc	(revision 5985)
@@ -103,5 +103,5 @@
   while (element != NULL)
   {
-    Factory::getFirst()->fabricate(element);
+    Factory::fabricate(element);
 
     element = element->NextSiblingElement();
@@ -119,5 +119,5 @@
   while (element != NULL)
   {
-    Factory::getFirst()->fabricate(element);
+    Factory::fabricate(element);
 
     element = element->NextSiblingElement();
Index: branches/powerups/src/lib/sound/sound_engine.cc
===================================================================
--- branches/powerups/src/lib/sound/sound_engine.cc	(revision 5965)
+++ branches/powerups/src/lib/sound/sound_engine.cc	(revision 5985)
@@ -286,6 +286,6 @@
 
 
-  }
-
+
+  }
   // INITIALIZING THE DEVICE:
   ALCchar deviceName[] =
@@ -300,6 +300,5 @@
   this->context = alcCreateContext(this->device, NULL);
 
-  alcMakeContextCurrent(this->context);
-
+  alcMakeContextCurrent(this->context); 
 
   if ((result = alGetError()) != AL_NO_ERROR)
