📄 key_handler_setup.c
字号:
if( data.number[0] == 1 ) lang.setup = LANG_ENG; else if( data.number[0] == 2 ) lang.setup = LANG_FRA; else lang.setup = LANG_SPA; SetupInfoSetMenuLang(&lang); InitTempValueState(); GuiSetupEnd(0); } */#if _SUPPORT_TVG_FUNCTION_ //(weilf)20060705 else if (osd_state->etSetup_dsp.d2_list == MENU_D2_LOCK_TVG && osd_state->etSetup_dsp.depth == MENU_DOM_DEPTH_4) { setup.passwd_count = input_dig; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_ENTER, &setup, SYS_WAIT ); if(input_dig == 1) OSD_ChangeSetup( OSD_CTRL_SETUP_TVG_DEL_INVALID_CODE, NULL, SYS_WAIT ); if(input_dig == 5) { SetupInfoGetMenuAdult( &adult ); ret = SetupCompareTVGPassword( data.number[0], data.number[1], data.number[2], data.number[3] ,data.number[4]); if( ret == TRUE ) { gPasswd_passed = TRUE; //gPasswd_wrong_cnt = 0; //GuiSetupEnter(0); OSD_ChangeSetup( OSD_CTRL_SETUP_TVG_INTERFACE, NULL, SYS_WAIT ); //osd_state->etSetup_dsp.d6_list = MENU_D6_TVG_GUARDIAN; gSetup_info.TVG.activation_flag = 1; SetupInfoSaveTVG(); } else { setup.passwd_count = 0; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_ENTER, &setup, SYS_WAIT ); InitTempValueState(); OSD_ChangeSetup( OSD_CTRL_SETUP_TVG_INVALID_CODE, NULL, SYS_WAIT ); #if 0 gPasswd_wrong_cnt++; if( gPasswd_wrong_cnt < 3 )//clina 20060330 { setup.passwd_type = PASSWD_SUB_WRONG; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); setup.passwd_count = 4; setup.passwd_type = PASSWD_SUB_CHECK; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); /* retry */ setup.passwd_type = PASSWD_SUB_CHECK; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); } else { gPasswd_wrong_cnt = 0; GuiSetupReturn( 0 );//clina 060403 } #endif } } }#endif else { InitTempValueState(); OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); OSD_SetTimer( OSD_TIMER_ICON, OSD_TIME_FOR_WARNING ); } }/****************************************************************************** * Function name : GuiSetupStop * Arguments : * Return : VOID * By : Taejin Kwon * Description : ****************************************************************************** */VOID GuiSetupStop( UCHAR param ){ switch( S5H_GetAppType()) { case APP_DVD: case APP_VCD: GuiSetupEnd(param); UiCmdGeneral( UOP_STOP ); break; case APP_MMN: GuiSetupEnd(param); break; default: break; }}/****************************************************************************** * Function name : GuiSetupEnd * Arguments : * Return : VOID * By : Taejin Kwon * Description : End of the SETUP window ****************************************************************************** */// Qian liping 060407 VOID GuiSetupEnd( UCHAR param ) { SH_writeEepromFromBuffer(); SetTempValueSetFlag( FALSE ); gPasswd_passed = FALSE; gVersionOn= FALSE; //clina 060422#if _HJL_NEW_SETUP_SCHEME //(weilf)20060808 DeleteSetupAllNode();#endif #if _APP_CAP_AUD_SETUP_SPEAKER#if _APP_CAP_AUD_CALNOISE { SetupSpeaker_t speaker; SetupInfoGetMenuSpeaker(&speaker); if(speaker.test_tone == TOGGLE_ON) { speaker.test_tone = TOGGLE_OFF; SetupInfoSetMenuSpeaker(&speaker); } }#endif//clina 060508 { if(gOSD_state.etSetup_dsp.depth==MENU_DOM_DEPTH_4) GuiSetupChangeD4Speaker(gOSD_state.etSetup_dsp.d4_list); else if(gOSD_state.etSetup_dsp.depth==MENU_DOM_DEPTH_5) { GuiSetupChangeD4Speaker(gOSD_state.etSetup_dsp.d4_list); GuiSetupChangeD5Speaker(gOSD_state.etSetup_dsp.d5_list); } //GuiSetupReturn( param); }#endif // Qian liping 060415 if(GetDisplayIconState()== ICON_WARNING ) { OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT); } /* Return setup menu start to play directly*/ if( !GuiMessageKeep() ) { UiBigOsd(FALSE, BIG_OSD_SETUP); if( S5H_GetAppType() == APP_DVD )//Qian liping 060418 OSD_SetMainDisplay(DISPLAY_OFF, SYS_WAIT); //limeng 060923:next key must be handled after display_off complete }}/****************************************************************************** * Function name : GuiSetupPlayPause * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID GuiSetupPlayPause( UCHAR param ){ GuiSetupEnd(0);}/****************************************************************************** * Function name : SetupInfoGetMenuAdult * Arguments : adult * Return : VOID * By : Taejin Kwon * Description : Fill the adult setup information to input arg ****************************************************************************** */VOID SetupInfoGetMenuAdult( SetupAdult_t *adult ){ memcpy(adult,&gSetup_info.adult,sizeof(SetupAdult_t));}/****************************************************************************** * Function name : SetupInfoGetMenuEtc * Arguments : adult * Return : VOID * By : Taejin Kwon * Description : Fill the adult setup information to input arg ****************************************************************************** */VOID SetupInfoGetMenuEtc( SetupEtc_st *etc ){ memcpy(etc,&gSetup_info.etc,sizeof(SetupEtc_st));}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : * Revision : *******************************************************************************/VOID OtherLangSel(UCHAR data){ OSD_State_st *osd_state; MenuDom4State_et old_d4; MenuDom4State_et temp; OsdSetupCtrl_st setup; osd_state = OSD_GetState(); old_d4 = osd_state->etSetup_dsp.d4_list; temp = osd_state->etSetup_dsp.d4_list - OTH_LANG_CESKY; switch (data) { case RC_KEY_LEFT: if ((temp / 6) == 0) osd_state->etSetup_dsp.d4_list += 12; else osd_state->etSetup_dsp.d4_list -= 6; break; case RC_KEY_RIGHT: if ((temp / 6) == 2) osd_state->etSetup_dsp.d4_list -= 12; else osd_state->etSetup_dsp.d4_list += 6; break; case RC_KEY_UP: if ((temp % 6) == 0) osd_state->etSetup_dsp.d4_list += 5; else osd_state->etSetup_dsp.d4_list -= 1; break; case RC_KEY_DOWN: if ((temp % 6) == 5) osd_state->etSetup_dsp.d4_list -=5; else osd_state->etSetup_dsp.d4_list += 1; break; } SetMenuState( &osd_state->etSetup_dsp ); setup.d4_old = old_d4; setup.d4_new = osd_state->etSetup_dsp.d4_list; OSD_ChangeSetup( OSD_CTRL_SETUP_SEL_D4, &setup, SYS_WAIT );#if _APP_CAP_OSD_SETUP_OSD_TIMEOUT OSD_SetTimer(OSD_TIMER_NORMAL, OSD_TIME_FOR_SETUP);#endif /* !_APP_CAP_OSD_TOGGLE_BY_HOTKEY */}STATIC VOID GuiSetupSelectOtherLang(UCHAR data) // cydrain 20060330, move from below to avoid warning.{ OSD_State_st *osd_state; MenuDom4State_et old_d4, new_d4; MenuDom4State_et temp; OsdSetupCtrl_st setup; osd_state = OSD_GetState(); switch( osd_state->etSetup_dsp.d2_list ) { case MENU_D2_LANG_AUDIO: if( osd_state->etSetup_dsp.d3_list != MENU_D3_LANG_AUDIO_OTHER) return; break; case MENU_D2_LANG_SUBTITLE: if( osd_state->etSetup_dsp.d3_list != MENU_D3_LANG_SUBTITLE_OTHER) return; break; case MENU_D2_LANG_DISCMENU: if( osd_state->etSetup_dsp.d3_list != MENU_D3_LANG_DISC_OTHER) return; break; default: return; } new_d4 = old_d4 = osd_state->etSetup_dsp.d4_list; temp = osd_state->etSetup_dsp.d4_list-(MENU_D4_LANG_OTH_START+1); switch (data) { case RC_KEY_LEFT: if ((temp / 6) == 0) new_d4 += 12; else new_d4 -= 6; break; case RC_KEY_RIGHT: if ((temp / 6) == 2) new_d4 -= 12; else new_d4 += 6; break; case RC_KEY_UP: if ((temp % 6) == 0) new_d4 += 5; else new_d4 -= 1; break; case RC_KEY_DOWN: if ((temp % 6) == 5) new_d4 -=5; else new_d4 += 1; break; } setup.d4_old = old_d4; setup.d4_new = new_d4; OSD_ChangeSetup( OSD_CTRL_SETUP_SEL_D4, &setup, SYS_WAIT );}#if _APP_CAP_AUD_SETUP_SPEAKERSTATIC VOID GuiSetupChangeD3Speaker( MenuDom3State_et d3_state ){ SetupSpeaker_t speaker; SetupInfoGetMenuSpeaker(&speaker); switch(d3_state) { /* 3d/equalizer */#if _APP_CAP_AUD_SUB_3D_SEPERATED #if _APP_CAP_AUD_3D case MENU_D3_SPK_3D_OFF: speaker.activevbx = OFF_3D; break; case MENU_D3_SPK_3D_ON: speaker.activevbx = ON_3D; break;#endif#endif/*_APP_CAP_AUD_SUB_3D_SEPERATED*/ #if _APP_CAP_AUD_EQ case MENU_D3_SPK_3DEQ_OFF: speaker.equalizer = EQUALIZER_OFF; break;#if !_APP_CAP_AUD_SUB_3D_SEPERATED//BY QQ 050811 case MENU_D3_SPK_3DEQ_3D: speaker.equalizer = EQUALIZER_3D; break;#endif case MENU_D3_SPK_3DEQ_JAZZ: speaker.equalizer = EQUALIZER_JAZZ; break; case MENU_D3_SPK_3DEQ_ROCK: speaker.equalizer = EQUALIZER_ROCK; break; case MENU_D3_SPK_3DEQ_POP: speaker.equalizer = EQUALIZER_POP; break; case MENU_D3_SPK_3DEQ_CLASSIC: speaker.equalizer = EQUALIZER_CLASSIC; break;#endif /* _APP_CAP_AUD_EQ */ #if _APP_CAP_AUD_REVERBERATION /* reverberation */ case MENU_D3_SPK_REVERB_NORMAL: speaker.reverberation = REVERBERATION_NORMAL; break; case MENU_D3_SPK_REVERB_CONCERTHALL: speaker.reverberation = REVERBERATION_CONCERTHALL; break; case MENU_D3_SPK_REVERB_LIVINGROOM: speaker.reverberation = REVERBERATION_LIVINGROOM; break; case MENU_D3_SPK_REVERB_HALL: speaker.reverberation = REVERBERATION_HALL; break; case MENU_D3_SPK_REVERB_BATHROOM: speaker.reverberation = REVERBERATION_BATHROOM; break; case MENU_D3_SPK_REVERB_CAVE: speaker.reverberation = REVERBERATION_CAVE; break; case MENU_D3_SPK_REVERB_ARENA: speaker.reverberation = REVERBERATION_ARENA; break; case MENU_D3_SPK_REVERB_CATHEDRAL: speaker.reverberation = REVERBERATION_CATHEDRAL; break;#endif#if! _COP_AUD_2CH_ONLY_OUT //clina 060421#if _APP_CAP_AUD_BASE_MANAGE /* speaker configure */ case MENU_D3_SPK_CONF_SSSON: speaker.configure = SPK_CONFIG_SSSON; speaker.front = SPK_SMALL; //wjin test 0107 speaker.center = SPK_SMALL; speaker.surround = SPK_SMALL; speaker.woofer = 1; break; case MENU_D3_SPK_CONF_LSSOFF: speaker.configure = SPK_CONFIG_LSSOFF; speaker.front = SPK_LARGE; //wjin test 0107 speaker.center = SPK_SMALL; speaker.surround = SPK_SMALL; speaker.woofer = 0; break; case MENU_D3_SPK_CONF_LSSON: speaker.configure = SPK_CONFIG_LSSON; speaker.front = SPK_LARGE; //wjin test 0107 speaker.center = SPK_SMALL; speaker.surround = SPK_SMALL; speaker.woofer = 1; break; case MENU_D3_SPK_CONF_LLLOFF: speaker.configure = SPK_CONFIG_LLLOFF; speaker.front = SPK_LARGE; //wjin test 0107 speaker.center = SPK_LARGE; speaker.surround = SPK_LARGE; speaker.woofer = 0; break; case MENU_D3_SPK_CONF_LLLON: speaker.configure = SPK_CONFIG_LLLON; speaker.front = SPK_LARGE; //wjin test 0107 speaker.center = SPK_LARGE; speaker.surround = SPK_LARGE; speaker.woofer = 1; break;#endif#if _APP_CAP_AUD_TIME_DELAY /* center delay */ case MENU_D3_SPK_CDLY_0MS: speaker.c_delay= SPK_CENTER_DELAY_0; break; case MENU_D3_SPK_CDLY_1MS: speaker.c_delay= SPK_CENTER_DELAY_1; break; case MENU_D3_SPK_CDLY_2MS: speaker.c_delay= SPK_CENTER_DELAY_2; break; case MENU_D3_SPK_CDLY_3MS: speaker.c_delay= SPK_CENTER_DELAY_3; break; case MENU_D3_SPK_CDLY_4MS: speaker.c_delay= SPK_CENTER_DELAY_4; break; case MENU_D3_SPK_CDLY_5MS: speaker.c_delay= SPK_CENTER_DELAY_5; break; /* surround delay */ case MENU_D3_SPK_SDLY_0MS: speaker.s_delay= SPK_SURROUND_DELAY_0; break; case MENU_D3_SPK_SDLY_5MS: speaker.s_delay= SPK_SURROUND_DELAY_5; break; case MENU_D3_SPK_SDLY_10MS: speaker.s_delay= SPK_SURROUND_DELAY_10; break; case MENU_D3_SPK_SDLY_15MS: speaker.s_delay= SPK_SURROUND_DELAY_15; break; case MENU_D3_SPK_SDLY_20MS: speaker.s_delay= SPK_SURROUND_DELAY_20; break; case MENU_D3_SPK_SDLY_25MS: speaker.s_delay= SPK_SURROUND_DELAY_25; break;#endif#if _APP_CAP_AUD_PROLOGIC /* Prologic */ case MENU_D3_SPK_PROLOGIC_OFF: speaker.prologic= TOGGLE_OFF; break; case MENU_D3_SPK_PROLOGIC_ON: speaker.prologic= TOGGLE_ON; break;#endif#if _APP_CAP_AUD_CONTROL_VOLUME case MENU_D3_SPK_VOLUME_SET: speaker.Volume_type= SPK_VOLUME_SET; break; case MENU_D3_SPK_VOLUME_RESET: speaker.Volume_type= SPK_VOLUME_RESET; break;#endif#if _APP_CAP_AUD_CALNOISE /* test tone */ case MENU_D3_SPK_TESTTONE_OFF: speaker.test_tone = TOGGLE_OFF; break; case MENU_D3_SPK_TESTTONE_ON: speaker.test_tone = TOGGLE_ON; break;#endif #endif } SetupInfoSetMenuSpeaker(&speaker);}//clina 060429/******************************************************************************* Function name : GuiSetupChangeD4Speaker* Arguments : * IN MenuDom4State_et d4_state * * OUT * I/O * Return : * VOID* By : changlina 060429* Description : * Revision : *******************************************************************************/ VOID GuiSetupChangeD4Speaker(MenuDom4State_et d4_state){ SetupSpeaker_t speaker; SetupInfoGetMenuSpeaker(&speaker); #if _APP_CAP_AUD_CONTROL_VOLUME if(gOSD_state.etSetup_dsp.d3_list==MENU_D3_SPK_VOLUME_SET) speaker.Volume.VolumeChannel=SET_SPK_VOL_FL+(d4_state-(MENU_D4_SPK_VOL_START+1)); else#endif#if _APP_CAP_AUD_TIME_DELAY if(gOSD_state.etSetup_dsp.d3_list==MENU_D3_SPK_TIME_DELAY_SET) speaker.tdly_type =(d4_state-(MENU_D4_SPK_TIME_DLY_START+1));#endif SetupInfoSetMenuSpeaker(& speaker);}/******************************************************************************* Function name : GuiSetupChangeD5Speaker* Arguments : * IN MenuDom5State_et d5_state * * OUT * I/O * Return : * VOID* By : changlina060429* Description : * Revision : set volume control
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -