Index: code/branches/core4/src/core/input/InputManager.cc
===================================================================
--- code/branches/core4/src/core/input/InputManager.cc	(revision 3275)
+++ code/branches/core4/src/core/input/InputManager.cc	(revision 3276)
@@ -61,17 +61,8 @@
 #include "Keyboard.h"
 
-// HACK (include this as last, X11 seems to define some macros...)
-#ifdef ORXONOX_PLATFORM_LINUX
-#  include <ois/linux/LinuxMouse.h>
-#endif
-
 namespace orxonox
 {
     SetConsoleCommand(InputManager, calibrate, true);
     SetConsoleCommand(InputManager, reload, false);
-#ifdef ORXONOX_PLATFORM_LINUX
-    SetConsoleCommand(InputManager, grabMouse, true);
-    SetConsoleCommand(InputManager, ungrabMouse, true);
-#endif
     SetCommandLineSwitch(keyboard_no_grab).information("Whether not to exclusively grab the keyboard");
 
@@ -914,25 +905,3 @@
         getInstance().reloadInputSystem();
     }
-
-
-    // ############################################################
-    // #####                   ugly hacks                     #####
-    // ##########                                        ##########
-    // ############################################################
-
-#ifdef ORXONOX_PLATFORM_LINUX
-    void InputManager::grabMouse()
-    {
-        OIS::LinuxMouse* linuxMouse = dynamic_cast<OIS::LinuxMouse*>(singletonRef_s->mouse_);
-        assert(linuxMouse);
-        linuxMouse->grab(true);
-    }
-
-    void InputManager::ungrabMouse()
-    {
-        OIS::LinuxMouse* linuxMouse = dynamic_cast<OIS::LinuxMouse*>(singletonRef_s->mouse_);
-        assert(linuxMouse);
-        linuxMouse->grab(false);
-    }
-#endif
 }
Index: code/branches/core4/src/core/input/InputManager.h
===================================================================
--- code/branches/core4/src/core/input/InputManager.h	(revision 3275)
+++ code/branches/core4/src/core/input/InputManager.h	(revision 3276)
@@ -108,10 +108,4 @@
             { return devices_.size() - InputDeviceEnumerator::FirstJoyStick; }
 
-#ifdef ORXONOX_PLATFORM_LINUX
-        // HACK!
-        static void grabMouse();
-        static void ungrabMouse();
-#endif
-
         void update(const Clock& time);
 
Index: code/branches/core4/src/core/input/Mouse.cc
===================================================================
--- code/branches/core4/src/core/input/Mouse.cc	(revision 3275)
+++ code/branches/core4/src/core/input/Mouse.cc	(revision 3276)
@@ -34,10 +34,11 @@
 #include "core/ConsoleCommand.h"
 
+// HACK (include this as last, X11 seems to define some macros...)
+#ifdef ORXONOX_PLATFORM_LINUX
+#  include <ois/linux/LinuxMouse.h>
+#endif
+
 namespace orxonox
 {
-    // HACK:
-    SetConsoleCommand(Mouse, setMouseClipping_s, false);
-    Mouse* Mouse::instancePointer_s = NULL;
-
     Mouse::Mouse(unsigned int id, unsigned int windowWidth, unsigned int windowHeight)
         : super(id)
@@ -86,3 +87,32 @@
         return true;
     }
+
+    // ############################################################
+    // #####                   ugly hacks                     #####
+    // ##########                                        ##########
+    // ############################################################
+
+    // HACK:
+    SetConsoleCommand(Mouse, setMouseClipping_s, false);
+#ifdef ORXONOX_PLATFORM_LINUX
+    SetConsoleCommand(Mouse, grabMouse, true);
+    SetConsoleCommand(Mouse, ungrabMouse, true);
+#endif
+    Mouse* Mouse::instancePointer_s = NULL;
+
+#ifdef ORXONOX_PLATFORM_LINUX
+    void Mouse::grabMouse()
+    {
+        OIS::LinuxMouse* linuxMouse = dynamic_cast<OIS::LinuxMouse*>(instancePointer_s->oisDevice_);
+        assert(linuxMouse);
+        linuxMouse->grab(true);
+    }
+
+    void Mouse::ungrabMouse()
+    {
+        OIS::LinuxMouse* linuxMouse = dynamic_cast<OIS::LinuxMouse*>(instancePointer_s->oisDevice_);
+        assert(linuxMouse);
+        linuxMouse->grab(false);
+    }
+#endif
 }
Index: code/branches/core4/src/core/input/Mouse.h
===================================================================
--- code/branches/core4/src/core/input/Mouse.h	(revision 3275)
+++ code/branches/core4/src/core/input/Mouse.h	(revision 3276)
@@ -62,8 +62,13 @@
         unsigned int getClippingHeight() const;
 
-        // HACK:
+        // HACK!
         static void setMouseClipping_s(unsigned int width, unsigned int height)
             { instancePointer_s->setMouseClipping(width, height); }
         void setConfigValues() { }
+#ifdef ORXONOX_PLATFORM_LINUX
+        // HACK!
+        static void grabMouse();
+        static void ungrabMouse();
+#endif
 
     private:
