void * index_control_page(struct AmmServer_DynamicRequest * rqst) { char command[MAX_WEB_COMMAND_SIZE]={0}; //If we have the console argument set this means we dont want the html output enabled so we switch it off if ( _GET(flashy_server,rqst,(char*) "UP",command,MAX_WEB_COMMAND_SIZE) ) { Controls_Handle_Keyboard(1,0,0); } if ( _GET(flashy_server,rqst,(char*) "DOWN",command,MAX_WEB_COMMAND_SIZE) ) { Controls_Handle_Keyboard(2,0,0); } if ( _GET(flashy_server,rqst,(char*) "LEFT",command,MAX_WEB_COMMAND_SIZE) ) { Controls_Handle_Keyboard(3,0,0); } if ( _GET(flashy_server,rqst,(char*) "RIGHT",command,MAX_WEB_COMMAND_SIZE) ) { Controls_Handle_Keyboard(4,0,0); } if ( _GET(flashy_server,rqst,(char*) "PLAY",command,MAX_WEB_COMMAND_SIZE) ) { Controls_Handle_Keyboard(13,0,0); } if ( _GET(flashy_server,rqst,(char*) "ZOOM_OUT",command,MAX_WEB_COMMAND_SIZE) ) { int i=0; for(i=0; i<3; i++) { Controls_Handle_Keyboard('r',0,0); } } if ( _GET(flashy_server,rqst,(char*) "ZOOM_IN",command,MAX_WEB_COMMAND_SIZE) ) { int i=0; for(i=0; i<3; i++) { Controls_Handle_Keyboard('f',0,0); } } if ( _GET(flashy_server,rqst,(char*) "STARS",command,MAX_WEB_COMMAND_SIZE) ) { int i=0; for(i=0; i<3; i++) { Controls_Handle_Keyboard('u',0,0); } } if ( _GET(flashy_server,rqst,(char*) "HEARTS",command,MAX_WEB_COMMAND_SIZE) ) { int i=0; for(i=0; i<3; i++) { Controls_Handle_Keyboard('k',0,0); } } rqst->contentSize=0; if (rqst->content!=0) { strncpy(rqst->content,index_content,index_content_size); rqst->contentSize=index_content_size ; } return 0; }
// Method to handle the keyboard's special buttons void SpecialFunctionCallback (int key, int x, int y) { int nokey=0; switch (key) { case GLUT_KEY_UP: Controls_Handle_Keyboard(1,x,y); break; case GLUT_KEY_DOWN: Controls_Handle_Keyboard(2,x,y); break; case GLUT_KEY_RIGHT: Controls_Handle_Keyboard(4,x,y); break; case GLUT_KEY_LEFT: Controls_Handle_Keyboard(3,x,y); break; case GLUT_KEY_PAGE_UP: Controls_Handle_Keyboard(153,x,y); break; case GLUT_KEY_PAGE_DOWN: Controls_Handle_Keyboard(161,x,y); break; case GLUT_KEY_INSERT: UploadCurrentPhotoToMyloader(); break; case GLUT_KEY_F1: break; case GLUT_KEY_F2: break; case GLUT_KEY_F3: break; case GLUT_KEY_F4: break; case GLUT_KEY_F5: break; case GLUT_KEY_F6: break; case GLUT_KEY_F7: break; case GLUT_KEY_F8: break; case GLUT_KEY_F9: break; case GLUT_KEY_F10: break; case GLUT_KEY_F11: break; case GLUT_KEY_F12: break; case GLUT_KEY_HOME: { SetDestinationOverPicture(0); break; } case GLUT_KEY_END: { SetDestinationOverPicture(frame.total_images-1); break; } default: nokey=1; break; } if ( nokey == 0 ) { key=0; glutPostRedisplay(); } }
static void KeyCallback(unsigned char key, int x, int y) { if (key==27) { glutLeaveMainLoop(); /*EnableScreenSaver(); exit(0);*/ } else/* Closes Application on Escape Key*/ if (key=='j') { ToggleFullscreen(); /* Toggles Fullscreen "window" */ } /* The rest commands are handled in controls.cpp / controls.h */ unsigned int nokey = Controls_Handle_Keyboard(key,x,y); if ( nokey == 0 ) { key=0; if (PrintDevMsg()) fprintf(stderr,"X:%f Y:%f Z:%f \n",frame.vx,frame.vy,frame.vz); usleep(100); glutPostRedisplay(); } }