📄 key_handler_setup.c
字号:
} if(*d5_state>=MENU_D5_SPK_VOL_FL_END-1) { *d5_state = MENU_D5_SPK_VOL_FL_END-1; return FALSE; } else return TRUE; break; case MENU_D4_SPK_VOL_FR: if (*d5_state<=MENU_D5_SPK_VOL_FR_START+1) { *d5_state = MENU_D5_SPK_VOL_FR_START+1; return FALSE; } if(*d5_state>=MENU_D5_SPK_VOL_FR_END-1) { *d5_state = MENU_D5_SPK_VOL_FR_END-1; return FALSE; } else return TRUE; break; case MENU_D4_SPK_VOL_SL: if (*d5_state<=MENU_D5_SPK_VOL_SL_START+1) { *d5_state = MENU_D5_SPK_VOL_SL_START+1; return FALSE; } if(*d5_state>=MENU_D5_SPK_VOL_SL_END-1) { *d5_state =MENU_D5_SPK_VOL_SL_END-1; return FALSE; } else return TRUE; break; case MENU_D4_SPK_VOL_SR: if (*d5_state<=MENU_D5_SPK_VOL_SR_START+1) { *d5_state = MENU_D5_SPK_VOL_SR_START+1; return FALSE; } if(*d5_state>=MENU_D5_SPK_VOL_SR_END-1) { *d5_state = MENU_D5_SPK_VOL_SR_END-1; return FALSE; } else return TRUE; break; case MENU_D4_SPK_VOL_CEN: if (*d5_state<=MENU_D5_SPK_VOL_CEN_START+1) { *d5_state = MENU_D5_SPK_VOL_CEN_START+1; return FALSE; } if(*d5_state>=MENU_D5_SPK_VOL_CEN_END-1) { *d5_state = MENU_D5_SPK_VOL_CEN_END-1; return FALSE; } else return TRUE; break; case MENU_D4_SPK_VOL_SUB: if (*d5_state<=MENU_D5_SPK_VOL_SUB_START+1) { *d5_state = MENU_D5_SPK_VOL_SUB_START+1; return FALSE; } if(*d5_state>=MENU_D5_SPK_VOL_SUB_END-1) { *d5_state = MENU_D5_SPK_VOL_SUB_END-1; return FALSE; } else return TRUE; break;#endif#endif default: return TRUE; } return TRUE;}STATIC VOID SetupSelectDom2( MenuDom2State_et select ){ OsdSetupCtrl_st setup; setup.d2_old = select; setup.d2_new = select; OSD_ChangeSetup( OSD_CTRL_SETUP_SEL_D2, &setup, SYS_WAIT );}STATIC VOID SetupSelectDom3( MenuDom3State_et select ){ OsdSetupCtrl_st setup; setup.new_depth = MENU_DOM_DEPTH_3; setup.d3_old = select; setup.d3_new = select; OSD_ChangeSetup(OSD_CTRL_SETUP_SEL_D3, &setup, SYS_WAIT);}/****************************************************************************** * Function name : GuiSetupHandlePasswdDom * Arguments : * Return : VOID * By : changlina 060530 * Description : ******************************************************************************/STATIC VOID GuiSetupHandlePasswdDom( VOID ){ OSD_State_st *osd_state; OsdSetupCtrl_st setup; SetupAdult_t adult; SetupInfoGetMenuAdult( &adult ); osd_state = OSD_GetState(); if(osd_state->etSetup_dsp.depth==MENU_DOM_DEPTH_3) { setup.passwd_type = PASSWD_SUB_CHECK; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); } else if(osd_state->etSetup_dsp.depth==MENU_DOM_DEPTH_4) { switch(osd_state->etSetup_dsp.d2_list) { case MENU_D2_LOCK_CHANGE: switch( osd_state->etSetup_dsp.pass_step ) { case PASSWD_SUB_CHECK: setup.passwd_type = PASSWD_SUB_CHANGE; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); gPasswd_passed = FALSE; break; case PASSWD_SUB_CONFIRM: setup.passwd_type = PASSWD_SUB_CHECK; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); break; default: break; } break; case MENU_D2_LOCK_LEVEL: //gPasswd_passed = FALSE; osd_state->etSetup_dsp.pass_step= PASSWD_SUB_NONE; SetMenuState(&osd_state->etSetup_dsp); adult.level = osd_state->etSetup_dsp.d3_list - MENU_D3_LOCK_LV_START; SetupInfoSetMenuAdult( &adult ); GuiSetupReturn(0); break; default: break; } }}/****************************************************************************** * Function name : GuiSetupNumControl * Arguments : * Return : VOID * By : Liurenliang * Description : //changlina 060529 ******************************************************************************/ VOID GuiSetupNumControl(UCHAR key){ TempKeeper_t data; OSD_State_st *osd_state; OsdSetupCtrl_st setup; SetupAdult_t adult; SetupLang_t lang; BOOL ret; BYTE2 temp_2dig; // to get 2 digit value BYTE2 temp_3dig; // to get 3 digit value BYTE1 input_dig; osd_state = OSD_GetState(); SetTempValueSetFlag( TRUE ); if (key == RC_KEY_NUM10) SetTempValue(10); else SetTempValue(key - RC_KEY_NUM0); SetupInfoGetMenuLang(&lang); /* Get current data */ GetTempValueState( &data ); temp_2dig = GetTempValue(2); temp_3dig = GetTempValue(3); input_dig = GetTempInputDig(); if( osd_state->etSetup_dsp.pass_step == PASSWD_SUB_CREATE || osd_state->etSetup_dsp.pass_step == PASSWD_SUB_CHANGE || osd_state->etSetup_dsp.pass_step == PASSWD_SUB_CHECK || osd_state->etSetup_dsp.pass_step == PASSWD_SUB_CONFIRM|| osd_state->etSetup_dsp.pass_step == PASSWD_SUB_CREATE_CONFIRM) { setup.passwd_count = input_dig; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_ENTER, &setup, SYS_WAIT ); /* Check password input end */ if( input_dig == 4 ) { SetupInfoGetMenuAdult( &adult ); switch( osd_state->etSetup_dsp.pass_step ) { case PASSWD_SUB_CREATE: adult.tmp_pass = data.number[3]<<24 | data.number[2]<<16 | \ data.number[1]<<8 | data.number[0]; SetupInfoSetMenuAdult( &adult ); setup.passwd_type = PASSWD_SUB_CREATE_CONFIRM; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); break; case PASSWD_SUB_CHANGE: adult.tmp_pass = data.number[3]<<24 | data.number[2]<<16 | \ data.number[1]<<8 | data.number[0]; SetupInfoSetMenuAdult( &adult ); setup.passwd_type = PASSWD_SUB_CONFIRM; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); break; case PASSWD_SUB_CHECK: ret = SetupComparePassword( data.number[0], data.number[1], data.number[2], data.number[3] ); if( ret == TRUE ) { gPasswd_passed = TRUE; gPasswd_wrong_cnt = 0; GuiSetupHandlePasswdDom(); } else { 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; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_ENTER, &setup, SYS_WAIT ); /* Show wrong message for a while */ SysSleep(1500, 0); /* retry */ setup.passwd_type = PASSWD_SUB_CHECK; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); } else { gPasswd_wrong_cnt = 0; setup.passwd_type = PASSWD_SUB_NONE; osd_state->etSetup_dsp.depth=MENU_DOM_DEPTH_1; SetMenuState(&osd_state->etSetup_dsp); GuiSetupReturn( 0 );//clina 060403 } } break; case PASSWD_SUB_CONFIRM: ret = SetupComparePassword( data.number[0], data.number[1], data.number[2], data.number[3] ); if( ret == TRUE ) { adult.set = TRUE; adult.passwd = adult.tmp_pass; SetupInfoSetMenuAdult( &adult ); SetupInfoSetPasswdSet( TRUE ); // cydrain 20050817 gPasswd_wrong_cnt = 0; gPasswd_confirmed = TRUE; gPasswd_passed = TRUE; GuiSetupReturn( 0 ); } else { adult.set = FALSE; setup.passwd_type = PASSWD_SUB_NOTMATCH; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); SysSleep(1000, 0); //setup.passwd_type = PASSWD_SUB_CHECK; //OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); GuiSetupHandlePasswdDom(); } break; case PASSWD_SUB_CREATE_CONFIRM: ret = SetupComparePassword( data.number[0], data.number[1], data.number[2], data.number[3] ); if( ret == TRUE ) { adult.passwd = adult.tmp_pass; adult.set = TRUE; SetupInfoSetMenuAdult( &adult ); SetupInfoSetPasswdSet(TRUE); gPasswd_wrong_cnt = 0; gPasswd_confirmed = TRUE; gPasswd_passed = TRUE; GuiSetupReturn( 0 ); } else { adult.set = FALSE; SetupInfoSetMenuAdult( &adult ); SetupInfoSetPasswdSet(FALSE); setup.passwd_type = PASSWD_SUB_NOTMATCH;//clina060403 OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); } break; } InitTempValueState(); } OSD_SetTimer( OSD_TIMER_NORMAL, OSD_TIME_FOR_PW_CHECK); }/* else if( osd_state->etSetup_dsp.depth == MENU_DOM_DEPTH_4 && osd_state->etSetup_dsp.d3_list == MENU_D3_LANG_RESET_RESTORE&& (data.number[0] > 0 && data.number[0] <= MENU_SUPPORT_LANG_NUM) ) { SetupInfoInit(TRUE); SetupInfoGetMenuLang(&lang); if( data.number[0] == 1 ) lang.setup = LANG_ENG; else if( data.number[0] == 2 ) lang.setup = LANG_SPA; else lang.setup = LANG_SPA; lang.setup=gSetupOSDLangOrderMap[data.number[0]-1]; SetupInfoSetMenuLang(&lang); InitTempValueState(); GuiSetupEnd(0); }*/ 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 _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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -