📄 key_handler_idle.c
字号:
SetMainState_t main; SetupSpeaker_t speaker; SetupInfoGetMenuSpeaker(&speaker); main = GetMainState(); osd_state = OSD_GetState(); SysPrintf("\n[GUI] Reverbration key."); disc=GetDiscState(); if(osd_state->etCur_dsp == DISPLAY_REVERBRATION) {#if _APP_CAP_OSD_TOGGLE_BY_HOTKEY OSD_SetMainDisplay(DISPLAY_OFF, SYS_WAIT);#else // Qian liping 060814: bug fix 629 OsdSelTimerSet(OSD_TIME_FOR_MESSAGE, TIMER_ENABLE ); speaker.reverberation = GuiSelRight( speaker.reverberation, REVERBERATION_NORMAL, REVERBERATION_CATHEDRAL ); SetupInfoSetMenuSpeaker(&speaker); OSD_ChangeDisplay(OSD_CTRL_UPDATE_INFO, NULL, SYS_NO_WAIT); #endif /* _APP_CAP_OSD_TOGGLE_BY_HOTKEY */ } else { OSD_SetMainDisplay(DISPLAY_REVERBRATION, SYS_WAIT); }}#endif/*_APP_CAP_AUD_REVERBERATION*/#if _APP_CAP_OSD_3D#if _APP_CAP_AUD_SETUP_SPEAKER // Qian liping 060605/****************************************************************************** * Function name : Gui3DEffectSetting * Arguments : * IN VOID * * OUT * I/O * Return : VOID * * By : QQ * Description : Set 3d effect * Revision : ****************************************************************************** */VOID Gui3DEffectSetting(VOID){ SetupSpeaker_t speaker; SetupInfoGetMenuSpeaker(&speaker);#if _APP_CAP_AUD_SUB_3D_SEPERATED if (SH_AUD_Get3d()) { SH_AUD_Set3d(FALSE); speaker.activevbx = OFF_3D; } else { SH_AUD_Set3d(TRUE); speaker.activevbx = ON_3D; }#else/*_APP_CAP_AUD_SUB_3D_SEPERATED*/ speaker.equalizer = GuiSelRight(speaker.equalizer, EQUALIZER_OFF, EQUALIZER_CLASSIC);#endif/*_APP_CAP_AUD_SUB_3D_SEPERATED*/ SetupInfoSetMenuSpeaker(&speaker);}#else/* _APP_CAP_AUD_SETUP_SPEAKER */ // Qian liping 051012 /****************************************************************************** * Function name : Gui3DEffectSetting * Arguments : * IN VOID * * OUT * I/O * Return : VOID * * By : QQ * Description : Set 3d effect * Revision : ****************************************************************************** */ VOID Gui3DEffectSetting(VOID){ if (SH_AUD_Get3d()) SH_AUD_Set3d(FALSE); else SH_AUD_Set3d(TRUE);}#endif /* _APP_CAP_AUD_SETUP_SPEAKER */ // Qian liping 051014/****************************************************************************** * Function name : Gui3DId * Arguments : * IN UCHAR param * * OUT * I/O * Return : VOID * * By : Taejin Kwon * Description : Change 3d status * Revision : ****************************************************************************** */VOID Gui3DId( UCHAR param ){ DiscType_t disc; SetMainState_t main; DvdvAudioInfo_t audio; main = GetMainState(); SysPrintf("\n[GUI] 3D key."); disc=GetDiscState(); if(disc==DVDV_DISC) { if( GetDvdvAudioAttribute(&audio) == FALSE ) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } if( (audio.c_mode&0x7) == 0x6 )// if audio codec is dts, 3d is prohibitted... { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } } OSD_SetMainDisplay(DISPLAY_3D, SYS_WAIT);}#endif /* _APP_CAP_OSD_3D */extern BOOL gPasswd_passed;extern BOOL gPasswd_confirmed;extern BOOL gPasswd_creat;extern UINT gPasswd_wrong_cnt;/****************************************************************************** * Function name : NumberKeyControl * Arguments : key * Return : VOID * By : Taejin Kwon * Description : * Number values are stored in this index. * 5 4 3 2 1 0 * +----+----+----+----+----+----+ * | | | | | | | * +----+----+----+----+----+----+ * hour : min : sec * Revisions : ****************************************************************************** *//****************************************************************************** * Function name : ControlSetUpNum * Arguments : * IN VOID * * OUT * I/O * Return : * BOOL * By : Kim Do Yeon * Description : * Revision : ****************************************************************************** */ #if 0BOOL ControlSetUpNum(VOID) { TempKeeper_t data; OSD_State_st *osd_state; OsdSetupCtrl_st setup; SetupAdult_t adult; BOOL ret; BYTE1 input_dig = GetTempInputDig(); GetTempValueState(& data); osd_state = OSD_GetState(); 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) { SetupEnterPassword( (UCHAR)input_dig ); /* 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]; osd_state->etSetup_dsp.depth = MENU_DOM_DEPTH_2; SetupInfoSetMenuAdult( &adult ); OSD_SetMenuState( &osd_state->etSetup_dsp ); SetupSelectPasswdDom( PASSWD_SUB_CREATE_CONFIRM ); 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 ); SetupSelectPasswdDom( PASSWD_SUB_CONFIRM ); 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; osd_state->etSetup_dsp.depth = MENU_DOM_DEPTH_1; OSD_SetMenuState( &osd_state->etSetup_dsp ); SetupSelectPasswdDom( PASSWD_SUB_NONE ); GuiSetupEnter(0); } else { gPasswd_wrong_cnt++; if( gPasswd_wrong_cnt < 3 ) { SetupSelectPasswdDom( PASSWD_SUB_WRONG ); 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 ); /* retry */ SetupSelectPasswdDom( PASSWD_SUB_CHECK ); setup.passwd_type = PASSWD_SUB_CHECK; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); } else { gPasswd_wrong_cnt = 0; osd_state->etSetup_dsp.depth = MENU_DOM_DEPTH_1; OSD_SetMenuState( &osd_state->etSetup_dsp ); SetupSelectPasswdDom( PASSWD_SUB_NONE ); GuiSetupReturn( 0 ); } } break; case PASSWD_SUB_CONFIRM: ret = SetupComparePassword( data.number[0], data.number[1], data.number[2], data.number[3] ); if( ret == TRUE ) { adult.passwd = adult.tmp_pass; SetupInfoSetMenuAdult( &adult ); osd_state->etSetup_dsp.depth = MENU_DOM_DEPTH_1; OSD_SetMenuState( &osd_state->etSetup_dsp ); SetupInfoSetPasswdSet( TRUE ); // cydrain 20050817 gPasswd_wrong_cnt = 0; gPasswd_confirmed = TRUE; gPasswd_passed = TRUE; SetupSelectPasswdDom( PASSWD_SUB_NONE ); GuiSetupEnter( 0 ); } else { SetupSelectPasswdDom( PASSWD_SUB_NOTMATCH); setup.passwd_type = PASSWD_SUB_NOTMATCH; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); /* retry */ SetupSelectPasswdDom( PASSWD_SUB_CONFIRM ); GuiSetupEnter( 0 ); } 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); osd_state->etSetup_dsp.depth = MENU_DOM_DEPTH_3; OSD_SetMenuState( &osd_state->etSetup_dsp ); gPasswd_wrong_cnt = 0; gPasswd_confirmed = TRUE; gPasswd_passed = TRUE; SetupSelectPasswdDom( PASSWD_SUB_NONE ); GuiSetupReturn( 0 ); } else { adult.set = FALSE; SetupInfoSetMenuAdult( &adult ); SetupInfoSetPasswdSet(FALSE); SetupSelectPasswdDom( PASSWD_SUB_NOTMATCH); setup.passwd_type = PASSWD_SUB_NOTMATCH; OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT ); /* retry */ SetupSelectPasswdDom( PASSWD_SUB_CREATE_CONFIRM ); GuiSetupEnter( 0 ); } break; } InitTempValueState(); } OsdTimerSet(OSD_TIME_FOR_PW_CHECK, TIMER_ENABLE); } /*SJY : 040517 spec. changed if the key doesn't use in SETUP menu, display prohibition mark for a while. SETUP OSD doesn't disappear */ else{ /* <<< @: 5008CHN-60.Liu renliang 050505: fix the bug in setup caused by number input everywhere */ InitTempValueState(); /* >>> @: 5008CHN-60.Liu renliang 050505 */ OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); /* Reset OSD timer */ OSD_SetTimer( OSD_TIMER_ICON, OSD_TIME_FOR_WARNING); } return ret; } #endif/****************************************************************************** * Function name : NumbericSearchDataCtrl * Arguments : * IN * * OUT * I/O * Return : * VOID * By : QQ (Yanglu 05.06.12 changes ) * Description : Get and save the VALID title or chapter search value for DVD;* Get and save the VALID title or chapter search value for Xvcd. * Revision : ****************************************************************************** */ VOID NumericSearchDataCtrl( OSD_InfoSubState_et infosub ) { UINT change_value = 0; switch(GetDiscState()) { //if(GetDiscState() == DVDV_DISC) // cydrain 20060117 case DVDV_DISC: case DVDA_DISC: /*Jiangshanbin For DVDA disc. 060323*/ { TempKeeper_t data; DvdVideoInfo_t dvdv; Pttn_t pttn; DVDSearch_t search_value; GetDvdvInfoInAppLayer(&dvdv); GetTempValueState( &data ); GetSearchValue(&search_value); /* Necessary */ if( infosub == INFO_SUB_TITLE ) { change_value = GetTempValue(2); /* Limit the changed title within valid title number */ if( change_value > dvdv.total_title ) { change_value = dvdv.total_title; /* Reset the temp keeper data for later use */ InitTempValueState(); } search_value.title_search = change_value; } if( infosub == INFO_SUB_CHAPTER ) { change_value = GetTempValue(3); /* Consider the (title,chapter) as a pair: to check validation of the chapter value by title value*/ ASSERT(search_value.title_search > 0); /* Limit the changed chapter within valid chapter number */ GetDvdTtInfo( search_value.title_search , &pttn); if( change_value > pttn) { change_value = pttn; /* Reset the temp keeper data for later use */ InitTempValueState(); } search_value.chapter_search = change_value; } SetSearchValue( search_value ); } break; //else // cydrain 20060117 case VCD_DISC: case SVCD_DISC: case CD_I: case CD_DA: case HQVCD_DISC: { XvcdInfo_t xvcd ; XVCDSearch_t track_value; GetSvcdVideoInfo(&xvcd); if( infosub == INFO_SUB_CTRACK) { change_value = GetTempValue(2); /* Limit the changed track within valid track number */ if( change_value > xvcd.total_track) { change_value = xvcd.total_track; InitTempValueState(); //SetTempValue(change_value/10); //SetTempValue(change_value%10); } GetXvcdSearchValue(&track_value); track_value.track_search =change_value; SetXvcdSearchValue(track_value); } } break; #if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE // cydrain 20060117 case CD_DATA: case DVD_DATA: case USB_DATA: case FX_DATA: { TempKeeper_t data; MMPSearch_t search_value; MmpVideoInfo_t mmp; mmp.total_folder = GetMmpTotalFolders(); mmp.cur_folder = GetMmpFolderPlay() + 1; mmp.total_file = GetMmpTotalFiles(); mmp.cur_file = GetMmpBgPlay() + 1; GetTempValueState(&data); GetMmpSearchValue(&search_value); /* Necessary */ if(infosub == INFO_SUB_TITLE) { change_value = GetTempValue(3); /* Limit the changed title within valid title number */ if(change_value > mmp.total_folder) { change_value = mmp.total_folder; /* Reset the temp keeper data for later use */ InitTempValueState(); } search_value.folder_search = change_value; } if(infosub == INFO_SUB_CHAPTER) { change_value = GetTempValue(4);//gaoping 20061013 /* Consider the (title,chapter) as a pair: to check validation of the chapter value by title value*/ ASSERT(search_value.folder_search > 0); if( change_value > mmp.total_file) { change_value = mmp.total_file; /* Reset the temp keeper data for later use */ InitTempValueState(); } search_value.file_search = change_value; } SetMmpSearchValue(search_value); }#endif }}/******************************************************************************* Function name : DvdSearchValidInNum* Arguments : * IN * * OUT * I/O * Return : * VOID* By : QQ* Description : * Revision : *******************************************************************************/BOOL DvdSearchValidInNumWithoutBtn(BYTE2 temp_3dig , DvdVideoInfo_t *DvdInfo){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -