Index: code/branches/wiimote/src/libraries/core/input/InputManager.cc
===================================================================
--- code/branches/wiimote/src/libraries/core/input/InputManager.cc	(revision 9889)
+++ code/branches/wiimote/src/libraries/core/input/InputManager.cc	(revision 9890)
@@ -440,7 +440,7 @@
 
         BOOST_FOREACH(InputDevice* device, devices_)
-            if (device != NULL || device->getDeviceID()!=2)
+            if (device != NULL)
                 device->update(time);
-        devices_[2]->update(time);
+
 
 
Index: code/branches/wiimote/src/libraries/core/input/WiiMote.cc
===================================================================
--- code/branches/wiimote/src/libraries/core/input/WiiMote.cc	(revision 9889)
+++ code/branches/wiimote/src/libraries/core/input/WiiMote.cc	(revision 9890)
@@ -12,51 +12,57 @@
 	void WiiMote::update(const Clock& time)
 	{
-		//orxout(user_warning) << this->inputStates_.size() << std::endl;
 		if(p == NULL)
 	      exit(0);
-		//else
-		  //orxout(user_warning) << "pointer is not null, yay" << std::endl;
 		PWii->RefreshWiimotes();
-		if(PWii->Poll())
+		Orientation o;
+		Orientation toMove;
+		for (int i=0; i<4; i++)
 		{
-			orxout()<<"test11"<<endl;
-			switch (p->GetEvent())
+			if(PWii->Poll())
+				{
+					//orxout()<<"test11"<<endl;
+					switch (p->GetEvent())
+					{
+						case CWiimote::EVENT_EVENT:
+						{
+							if(p->Buttons.isPressed(CButtons::BUTTON_A)||p->Buttons.isJustPressed(CButtons::BUTTON_A)) //ugly hack to just do something on button press easily
+								{
+									orxout()<<"fak u dolan"<<endl;
+									CommandExecutor::execute("fire 0", 0, 0);
+								}
+							if (i==0)
+								p->Accelerometer.GetOrientation(o.pitch, o.roll, o.yaw);
+							//orxout()<<time.getDeltaTime()<<std::endl;
+
+							break;
+						}
+						case CWiimote::EVENT_STATUS:
+						{
+
+							break;
+						}
+						default:
+							break;
+
+					}
+				}
+		}
+		//orxout() << time.getDeltaTime()<<endl;
+		orxout() << o.pitch << endl;
+	//	int x = (int)(-10*(o.yaw-lastOrientation.yaw)); //get difference in orientation, divide by time to make faster movements result in faster orientation change
+		int y = (int)(4*(o.pitch-lastOrientation.pitch));//-lastOrientation.pitch)/time.getDeltaTime());
+		int x=0;
+		//orxout() << x<< endl << y << endl;
+		IntVector2 abs(0,0);
+		IntVector2 rel(x,y);
+		IntVector2 clippingSize(1920, 1080);
+
+
+		if((x!=0 || y!=0)&&(o.pitch!=0))
 			{
-				case CWiimote::EVENT_EVENT:
-				{
-					if(p->Buttons.isPressed(CButtons::BUTTON_A)||p->Buttons.isJustPressed(CButtons::BUTTON_A)) //ugly hack to just do something on button press easily
-										{
-											orxout()<<"fak u dolan"<<endl;
-											CommandExecutor::execute("fire 0", 0, 0);
-										}
-					Orientation o;
-					p->Accelerometer.GetOrientation(o.pitch, o.roll, o.yaw);
-					int x = (int)(500*(o.yaw-lastOrientation.yaw)/time.getDeltaTime()); //get difference in orientation, divide by time to make faster movements result in faster orientation change
-					int y = (int)((o.pitch-lastOrientation.pitch)/time.getDeltaTime());
-					orxout()<<time.getDeltaTime()<<std::endl;
-					IntVector2 abs(0, 0);
-					IntVector2 rel(x, y);
-					IntVector2 clippingSize(1920, 1080);
-					lastOrientation.pitch = o.pitch;
-					lastOrientation.yaw = o.yaw;
-					orxout()<<x<<std::endl<<y<<std::endl;
-					if(x!=0 || y!=0)
-					{
-						for (unsigned int i = 0; i < inputStates_.size(); ++i)
-						inputStates_[i]->mouseMoved(abs, rel, clippingSize); 	//pass random mouse movements to all input states
-					}
-					break;
-				}
-				case CWiimote::EVENT_STATUS:
-				{
-
-					break;
-				}
-				default:
-					break;
-
+				for (unsigned int i = 0; i < inputStates_.size(); ++i)
+					inputStates_[i]->mouseMoved(abs, rel, clippingSize); 	//pass random mouse movements to all input states
 			}
-		}
-
+		lastOrientation = o;
 	}
 	void WiiMote::clearBuffers()
Index: code/branches/wiimote/src/libraries/core/input/WiiMote.h
===================================================================
--- code/branches/wiimote/src/libraries/core/input/WiiMote.h	(revision 9889)
+++ code/branches/wiimote/src/libraries/core/input/WiiMote.h	(revision 9890)
@@ -29,9 +29,8 @@
 
 	 protected:
-	         void calibrationStarted() { }
-	         void calibrationStopped() { }
-	         Orientation lastOrientation;
-	         //! List of all input states that receive events from this device
-		 //std::vector<InputState*> inputStates_;
+	        void calibrationStarted() { }
+	        void calibrationStopped() { }
+	        Orientation lastOrientation;
+	        Orientation averageOrientation(Orientation o[], int l);
 
 	 private:
