void keyStateChanged(int key, int mods) { switch (key) { case GLFW_KEY_A: g_armature.AdjBase(true); break; case GLFW_KEY_D: g_armature.AdjBase(false); break; case GLFW_KEY_W: g_armature.AdjUpperArm(false); break; case GLFW_KEY_S: g_armature.AdjUpperArm(true); break; case GLFW_KEY_R: g_armature.AdjLowerArm(false); break; case GLFW_KEY_F: g_armature.AdjLowerArm(true); break; case GLFW_KEY_T: g_armature.AdjWristPitch(false); break; case GLFW_KEY_G: g_armature.AdjWristPitch(true); break; case GLFW_KEY_Z: g_armature.AdjWristRoll(true); break; case GLFW_KEY_C: g_armature.AdjWristRoll(false); break; case GLFW_KEY_Q: g_armature.AdjFingerOpen(true); break; case GLFW_KEY_E: g_armature.AdjFingerOpen(false); break; case GLFW_KEY_ENTER: g_armature.WritePose(); break; } }
//Called whenever a key on the keyboard was pressed. //The key is given by the ''key'' parameter, which is in ASCII. //It's often a good idea to have the escape key (ASCII value 27) call glutLeaveMainLoop() to //exit the program. void keyboard(unsigned char key, int x, int y) { switch (key) { case 27: glutLeaveMainLoop(); return; case 'a': g_armature.AdjBase(true); break; case 'd': g_armature.AdjBase(false); break; case 'w': g_armature.AdjUpperArm(false); break; case 's': g_armature.AdjUpperArm(true); break; case 'r': g_armature.AdjLowerArm(false); break; case 'f': g_armature.AdjLowerArm(true); break; case 't': g_armature.AdjWristPitch(false); break; case 'g': g_armature.AdjWristPitch(true); break; case 'z': g_armature.AdjWristRoll(true); break; case 'c': g_armature.AdjWristRoll(false); break; case 'q': g_armature.AdjFingerOpen(true); break; case 'e': g_armature.AdjFingerOpen(false); break; case 32: g_armature.WritePose(); break; } }