Camera Rotation for First-Person Controls not correctly

Hey I know this is an old post now but I solved this much easier than this.

I used orbit controls and I simply made the target slightly in front of the camera.

so postion of the camera in my case was:

camera.position.x = 6;
camera.position.y = 1.25;
camera.position.z = 2.5;

the position of the target (the centre point that orbit controls looked at) was:

controls.target.set( 6.6, 1.25, 2.5 );

Then just disable pan and limit the view angle to whatever you like and you get the desired affect without any skewed rotation like in that example.