Just FYI, I put the camera code in it's own thread, it's awesome!

Here is a fully functional camera, if anyone ever needs it.

Code:
void camera_move()
{
	while (1)
   {
   	if (key_q) camera.pan += 10 * time_step;
      if (key_e) camera.pan -= 10 * time_step;
      if (key_z) camera.tilt += 10 * time_step;
      if (key_c) camera.tilt -= 10 * time_step;
   	if (key_w) camera.x += 10 * time_step;
		if (key_s) camera.x -= 10 * time_step;
		if (key_d) camera.y += 10 * time_step; 
		if (key_a) camera.y -= 10 * time_step; 
		if (19 == key_lastpressed) // R key will reset the pan and tilt to 0.
      {
         camera.pan = 0;
         camera.tilt = 0;
      }   
   wait (1);
   } 
}


-Snow