/*------------------------------------------------------------------------------ main_menu() Preconditions: Postconditions: *----------------------------------------------------------------------------*/ void kbd_settings( void ) /*----------------------------------------------------------------------------*/ { int user_input; char user_str[128]; // Get user keyboard input while( 1 ) { settings_menu(); scanf( "%d", &user_input ); fflush( stdin ); switch ( user_input ) { case KBD_CHANNEL_NUMBER: printf( "Enter channel number: "); scanf( "%d", &user_input ); fflush( stdin ); if( user_input < 0 || user_input > 20 ) printf( "Invalid channel number\n" ); else g_channel_number = user_input; break; case KBD_BRIDGE_COMMAND: printf( "Enable bridging ? [y/n]: "); scanf( " %c", &user_input ); fflush( stdin ); if( user_input == 'Y' || user_input == 'y' ) g_bridging_enabled = 1; else if( user_input == 'N' || user_input == 'n' ) g_bridging_enabled = 0; else printf( "Invalid selection %c\n", user_input ); break; case KBD_RESPONDER_I2C_ADDR: printf( "Enter responder i2c address: "); scanf( "%d", &user_input ); fflush( stdin ); if( user_input < 0 || user_input > 20 ) printf( "Invalid address\n" ); else g_responder_i2c_address = user_input; break; case KBD_OUTGOING_PROTOCOL: break; case KBD_QUIT: return; default: printf( "Unknown option %d ignored.\n", user_input ); break; } // end switch printf( "Press any key to continue\n" ); getchar(); fflush( stdin ); } }
int launch_menu(unsigned int key_pressed) { int retval=0; switch(key_pressed) { case SDLK_F2: snapshots_menu (); // manage snapshot files retval=1; break; case SDLK_F3: taps_menu (); // manage TAP files retval=1; break; case SDLK_F4: // settings settings_menu (); retval=1; break; case SDLK_F7: microdrive_menu (); // shows the microdrive menu retval=1; break; case SDLK_F8: tools_menu(); retval=1; break; } return (retval); }
static void draw_iracer (TWidget *wid, ttk_surface srf) { ttk_fillrect (srf, 0, 0, ttk_screen->w, ttk_screen->h, ttk_makecol(BLACK));//bg black. ttk_fillrect (iracer_srf, 0, 0, bgw, bgh, ttk_makecol(BLACK)); switch(frame) { case 0: main_menu(); break; case 1: draw_race(); break; case 2: view_map(); break; case 3: settings_menu(); break; } ttk_blit_image (iracer_srf, srf, (ttk_screen->w/2)-(bgw/2), (ttk_screen->h/2)-(bgh/2)); }