Index: code/branches/core4/src/core/input/InputDevice.h
===================================================================
--- code/branches/core4/src/core/input/InputDevice.h	(revision 3306)
+++ code/branches/core4/src/core/input/InputDevice.h	(revision 3310)
@@ -181,5 +181,5 @@
     protected:
         //! Common code for all button pressed events (updates pressed buttons list and calls the input states)
-        void buttonPressed(ButtonTypeParam button)
+        FORCEINLINE void buttonPressed(ButtonTypeParam button)
         {
             // check whether the button already is in the list (can happen when focus was lost)
@@ -198,5 +198,5 @@
 
         //! Common code for all button released events (updates pressed buttons list and calls the input states)
-        void buttonReleased(ButtonTypeParam button)
+        FORCEINLINE void buttonReleased(ButtonTypeParam button)
         {
             // remove the button from the pressedButtons_ list
Index: code/branches/core4/src/core/input/InputManager.cc
===================================================================
--- code/branches/core4/src/core/input/InputManager.cc	(revision 3306)
+++ code/branches/core4/src/core/input/InputManager.cc	(revision 3310)
@@ -177,8 +177,8 @@
         paramList.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
 #if defined(ORXONOX_PLATFORM_WINDOWS)
-        //paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE")));
-        //paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_FOREGROUND")));
-        //paramList.insert(std::make_pair(std::string("w32_keyboard"), std::string("DISCL_NONEXCLUSIVE")));
-        //paramList.insert(std::make_pair(std::string("w32_keyboard"), std::string("DISCL_FOREGROUND")));
+        paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE")));
+        paramList.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_FOREGROUND")));
+        paramList.insert(std::make_pair(std::string("w32_keyboard"), std::string("DISCL_NONEXCLUSIVE")));
+        paramList.insert(std::make_pair(std::string("w32_keyboard"), std::string("DISCL_FOREGROUND")));
 #elif defined(ORXONOX_PLATFORM_LINUX)
         paramList.insert(std::make_pair(std::string("XAutoRepeatOn"), std::string("true")));
Index: code/branches/core4/src/core/input/InputState.h
===================================================================
--- code/branches/core4/src/core/input/InputState.h	(revision 3306)
+++ code/branches/core4/src/core/input/InputState.h	(revision 3310)
@@ -174,5 +174,5 @@
     };
 
-    inline void InputState::update(float dt)
+    FORCEINLINE void InputState::update(float dt)
     {
         for (unsigned int i = 0; i < handlers_.size(); ++i)
@@ -181,5 +181,5 @@
     }
 
-    inline void InputState::update(float dt, unsigned int device)
+    FORCEINLINE void InputState::update(float dt, unsigned int device)
     {
         switch (device)
@@ -203,5 +203,5 @@
 
     template <typename EventType, class Traits>
-    inline void InputState::buttonEvent(unsigned int device, const typename Traits::ButtonTypeParam button)
+    FORCEINLINE void InputState::buttonEvent(unsigned int device, const typename Traits::ButtonTypeParam button)
     {
         assert(device < handlers_.size());
@@ -210,5 +210,5 @@
     }
 
-    inline void InputState::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
+    FORCEINLINE void InputState::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
     {
         if (handlers_[mouseIndex_s] != NULL)
@@ -216,5 +216,5 @@
     }
 
-    inline void InputState::mouseScrolled(int abs, int rel)
+    FORCEINLINE void InputState::mouseScrolled(int abs, int rel)
     {
         if (handlers_[mouseIndex_s] != NULL)
@@ -222,5 +222,5 @@
     }
 
-    inline void InputState::joyStickAxisMoved(unsigned int device, unsigned int axis, float value)
+    FORCEINLINE void InputState::joyStickAxisMoved(unsigned int device, unsigned int axis, float value)
     {
         assert(device < handlers_.size());
Index: code/branches/core4/src/core/input/Mouse.cc
===================================================================
--- code/branches/core4/src/core/input/Mouse.cc	(revision 3306)
+++ code/branches/core4/src/core/input/Mouse.cc	(revision 3310)
@@ -45,5 +45,5 @@
     {
         RegisterRootObject(Mouse);
-        this->windowResized(this->getWindowHeight(), this->getWindowHeight());
+        this->windowResized(this->getWindowWidth(), this->getWindowHeight());
 
 #ifdef ORXONOX_PLATFORM_LINUX
Index: code/branches/core4/src/orxonox/gui/GUIManager.cc
===================================================================
--- code/branches/core4/src/orxonox/gui/GUIManager.cc	(revision 3306)
+++ code/branches/core4/src/orxonox/gui/GUIManager.cc	(revision 3310)
@@ -420,5 +420,6 @@
     void GUIManager::mouseMoved(IntVector2 abs, IntVector2 rel, IntVector2 clippingSize)
     {
-        guiSystem_->injectMouseMove(static_cast<float>(rel.x), static_cast<float>(rel.y));
+        //guiSystem_->injectMouseMove(static_cast<float>(rel.x), static_cast<float>(rel.y));
+        guiSystem_->injectMousePosition(static_cast<float>(abs.x), static_cast<float>(abs.y));
     }
     void GUIManager::mouseScrolled(int abs, int rel)
