NOTE: To anyone who uses EvilSOB's solution to move with UP-LEFT-RIGHT-DOWN, it was wrong, because the player can't move right.
So here's the correct one:
if(key_w == 1 && key_s == 0 && key_a == 0 && key_d == 0) tempV.x = camera.pan;
if(key_s == 1 && key_w == 0 && key_a == 0 && key_d == 0) tempV.x = camera.pan + 180;
if(key_a == 1 && key_s == 0 && key_w == 0 && key_d == 0) tempV.x = camera.pan + 90;
if(key_d == 1 && key_s == 0 && key_a == 0 && key_w == 0) tempV.x = camera.pan - 90;
if(key_w == 1 && key_a == 1 && key_d == 0 && key_s == 0) tempV.x = camera.pan + 45;
if(key_w == 1 && key_d == 1 && key_a == 0 && key_s == 0) tempV.x = camera.pan - 45;
if(key_s == 1 && key_a == 1 && key_d == 0 && key_w == 0) tempV.x = camera.pan + 135;
if(key_s == 1 && key_d == 1 && key_a == 0 && key_w == 0) tempV.x = camera.pan - 135;
if(key_cuu == 1 && key_cud == 0 && key_cul == 0 && key_cur == 0) tempV.x = camera.pan;
if(key_cud == 1 && key_cuu == 0 && key_cul == 0 && key_cur == 0) tempV.x = camera.pan + 180;
if(key_cul == 1 && key_cud == 0 && key_cuu == 0 && key_cur == 0) tempV.x = camera.pan + 90;
if(key_cur == 1 && key_cud == 0 && key_cul == 0 && key_cuu == 0) tempV.x = camera.pan - 90;
if(key_cuu == 1 && key_cul == 1 && key_cur == 0 && key_cud == 0) tempV.x = camera.pan + 45;
if(key_cuu == 1 && key_cur == 1 && key_cul == 0 && key_cud == 0) tempV.x = camera.pan - 45;
if(key_cud == 1 && key_cul == 1 && key_cur == 0 && key_cuu == 0) tempV.x = camera.pan + 135;
if(key_cud == 1 && key_cur == 1 && key_cul == 0 && key_cuu == 0) tempV.x = camera.pan - 135;