MouseState newState = Mouse.GetState(); if (newState.RightButton == ButtonState.Pressed) { IsMouseVisible = false; if (lastState.RightButton == ButtonState.Released) { onRMB = newState; } else { int xChange = newState.X - onRMB.X; int yChange = newState.Y - onRMB.Y; camera.AdjustYaw((float)xChange / 5f); camera.AdjustPitch((float)yChange / 5f); Mouse.SetPosition(onRMB.X, onRMB.Y); } } else { IsMouseVisible = true; } lastState = newState;