Rotation of object differs based on device orientation

Hi there!

I am using Vuforia with unity and I am trying to rotate a cube that is rendered on the screen when the user touches and drags the cube.

Here is the code that is attached to the cube:

	void Update () {
		if(Input.touchCount > 0)
		{

			if (Input.GetTouch(0).phase == TouchPhase.Began)
			{
				Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
				if (Physics.Raycast(ray, out hit))
				{
					isDraggable = true;
				}
			}

			if (Input.GetTouch(0).phase == TouchPhase.Moved)
			{
				if (isDraggable)
				{
				hit.transform.gameObject.transform.Rotate(Input.GetTouch(0).deltaPosition.x,Input.GetTouch(0).deltaPosition.y,0,Space.World);
				}
			}

			if(Input.GetTouch(0).phase == TouchPhase.Ended)
			{
				isDraggable = false;
			}
		}
	}

This code works and the cube rotates in the direction of the swipe. However, when I turn the device to landscape, the rotation gets messed up. I believe it is either the cube changing its axises or the Input.GetTouch(0).deltaPosition output has changed.

Well, if that is not enough: Unity still insists that the device orientation is Portrait, so I believe it is not a screen rotation issue.

perhaps a the auto rotate is needed? just a guess as im just a beginner