📄 key_receive.c
字号:
return FALSE; else { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);#if _COP_SYS_REGION_CODE InitTempValueState();#endif/*_COP_SYS_REGION_CODE*/ return TRUE; } } if ((GetMainState() == MAIN_STOP) && (GetDisplayMainState() == DISPLAY_NODISC || GetDisplayMainState() == DISPLAY_UNKNOWN_DISC || GetDisplayMainState() ==DISPLAY_RC_ERROR)) { if (data == RC_KEY_SETUP || GetDisplayMainState() == DISPLAY_SETUP) return FALSE; #if _APP_CAP_FUNC_COLDSTART if (GetDisplayMainState() == DISPLAY_COLDSTART) return FALSE;#endif /* _SUPPORT_MASTER_MUTE_APPL */ #if (_APP_CAP_NAV_USB_DISC||_APP_CAP_NAV_FX_DATA) if (data == RC_KEY_FAT_DEVICE_SELECT) return FALSE;#endif OsdNotAvailOn(); return TRUE; } if (GetDisplayIconState() == ICON_LOADING) { return TRUE; } #if _COP_CAPTURE_LOGO_USED if (data == RC_KEY_CPT_LOGO) { if(GetMainState() == MAIN_FF || GetMainState() == MAIN_FR\ || GetMainState() == MAIN_SF || GetMainState() == MAIN_SR#if _APP_CAP_OSD_VCD_DIGEST || IsVcdDigestMode() #endif#if _APP_CAP_FUNC_DVD_DIGEST ||IsDvdDigestMode()#endif ) //limeng 060724: prohibit cap logo in digest mode OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); else GuiCaptureLogo( param ); return TRUE; }#endif return FALSE;}/******************************************************************************* Function name : KeyInputCheckDsp* Arguments : * IN UCHAR data, UCHAR param* * OUT * I/O * Return : BOOL * * By : Qian Qiang* Description : Handle keys in special osd and zoom status * Revision : 1.0 *******************************************************************************/BOOL KeyInputCheckDsp(UCHAR data, UCHAR param){ OSD_MainType_et dsp_main; OSD_ExpInfo2State_et explore_info2; explore_info2 = gOSD_state.etExp_state.etInfo2; dsp_main = GetDisplayMainState();#if _APP_CAP_FUNC_COLDSTART if( data == RC_KEY_COLDSTART ) { GuiColdStart(); return TRUE; } #endif /* _SUPPORT_COLD_START */ if(S5H_GetAppType() == APP_MMN) //wanglin 20060424 { switch(explore_info2) {#if _APP_CAP_FUNC_RANDOM_PLAY case EXPLORER_MODE_INFO2MODE: return ( GuiHandleKeysInModeSelOsd(data) );#endif case EXPLORER_MODE_INFO2AUDIO: return ( GuiHandleKeysInLrsteroSelOsd(data) ); case EXPLORER_MODE_INFO2RPT: return ( GuiHandleKeysInRepeatOsd(data) ); default: break; } } switch(dsp_main) { case DISPLAY_SETUP: SetupUopHandle( data, param ); break; case DISPLAY_PROGRAM: GuiPgmHandle(data); break; case DISPLAY_RANDOM_STRING: OsdImageOff(); break;#if _APP_CAP_FUNC_COLDSTART case DISPLAY_COLDSTART: ColdStartUopHandle( data ); break;#endif /* _SUPPORT_COLD_START */ #if _APP_CAP_NAV_FIRM_CD case DISPLAY_CD_UPGRADE: GuiHandleCdUpgrade(data,param); break;#endif /* _SUPPORT_CD_UPGRADE */#if _COP_SYS_REGION_CODE case DISPLAY_RC_MSG: GuiRegionCodeControlHandle(data); break;#endif /*_COP_SYS_REGION_CODE*/ /* Merge Repeat/ModeSel osd handling for all kinds of disc */ case DISPLAY_REPEAT: return ( GuiHandleKeysInRepeatOsd(data) ); break; #if _APP_CAP_FUNC_RANDOM_PLAY case DISPLAY_MODE_SEL: return ( GuiHandleKeysInModeSelOsd(data) ); break;#endif /*BY QQ 060227 add the dual mono control menu*/ case DISPLAY_STEREO: return ( GuiHandleKeysInLrsteroSelOsd(data) ); break; /*BY QQ 060302 add the digest osd bar control*/#if _APP_CAP_OSD_DIGEST case DISPLAY_DIGEST: return ( GuiHandleKeysInDigestSelOsd(data) ); break;#endif/*_SUPPORT_DIGEST_OSD*/ /*BY QQ 060228*/#if _APP_CAP_OSD_DUALMONO_BAR case DISPLAY_DUALMONO: return ( GuiHandleKeysInDualMonoSelOsd(data) ); break;#endif/*_SUPPORT_DUALMONO_BAR*/ #if (_APP_CAP_NAV_USB_DISC||_APP_CAP_NAV_FX_DATA) case DISPLAY_FAT_DEVICE: return ( GuiHandleKeysInSelectFATDeviceOsd(data) ); break;#endif case DISPLAY_SCORE: return TRUE; case DISPLAY_ADULT_PSWD_CHECK: // Qian liping 060922: bug fix 103 if(IS_NUM_KEY(data)) { return FALSE; } else { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return TRUE; } break; default: if (GuiZoomHandle(data)) return TRUE; return FALSE; } return TRUE; }/******************************************************************************* Function name : KeyInputCheckSpecialState* Arguments : * IN UCHAR data, UCHAR param* * OUT * I/O * Return : BOOL * * By : Kim Do Yeon* Description : Confirm the key input* Revision : 1.0 *******************************************************************************/BOOL KeyInputCheckSpecialState(UCHAR data, UCHAR param){ BOOL flag = FALSE; DiscType_t disc; if( GetMainState() == MAIN_STOP ) { if( !(IS_VALIDE_KEY_IN_MAIN_STOP(data)) ) {#if _APP_CAP_FUNC_MMP_PAGE_UPDOWN /*BY QQ 060314*/ if(S5H_GetAppType() == APP_MMN && ((data) == RC_KEY_REPEAT ||\ (data) == RC_KEY_NEXT||\ (data) == RC_KEY_PREV)) { } else#endif/*_APP_CAP_FUNC_MMP_PAGE_UPDOWN*/ {#if _APP_CAP_FUNC_RPT_A_IN_RSTOP if( data == RC_KEY_REPEAT_AB && GetDiscState() == CD_DA && GetSvcdRepeatABState() == REPEAT_SUB_NONE) //limeng 060725:LG spec 1.10.3 return FALSE; else#endif #if _APP_CAP_FUNC_RPT_MODE_IN_RSTOP if( data == RC_KEY_REPEAT && GetDiscState() == CD_DA ) return FALSE; else#endif { OsdNotAvailOn(); return TRUE; } } }#if _COP_5009_SIMPLE_SOL if( !IsResumeStopState() && data==RC_KEY_STOP) { return FALSE; }#endif if( !IsResumeStopState() && IS_INVALID_KEY_IN_FULL_STOP(data) ) { OsdNotAvailOn(); return TRUE; } } if( SH_AUD_IsDtsCd() ) { if( data == RC_KEY_3D || data == RC_KEY_STEREO || data == RC_KEY_REVERBRATION || data == RC_KEY_DUALMONO) { OsdNotAvailOn(); return TRUE; } }#if _APP_CAP_OSD_DIGEST if(IsDigestMode()&& (!IS_VALID_KEY_IN_DIGEST(data)))//clina 061013 for bug695 { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return TRUE; }#endif switch( S5H_GetAppType() ) { case APP_DVD: flag = IsMenuDomainKeyForbidden( data );#if 0//clina 061013#if _APP_CAP_FUNC_DVD_DIGEST if( (IsDvdDigestMode())&& (!IS_VALID_KEY_IN_DVD_DIGEST(data)) ) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); flag = TRUE; break; }#endif #endif break; case APP_VCD: disc = GetDiscState();#if _APP_CAP_FUNC_MIXED_VCD_CDDA if( disc == CD_DA && GetMixedCdState() == FALSE && IS_INVALID_KEY_FOR_CD_DA(data))#else if( disc == CD_DA && IS_INVALID_KEY_FOR_CD_DA(data))#endif { if((GetCDGDiscLoaded())&&(data==RC_KEY_ZOOM)) return FALSE; OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); flag = TRUE; break; } if(GetCDGDiscLoaded() && IS_INVALID_KEY_FOR_CDG(data)) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); flag = TRUE; break; }#if 0//clina 061013#if _APP_CAP_FUNC_VCD_DIGEST_PREVIEW if( IsVcdDigestMode() && (!IS_VALID_KEY_IN_DIGEST(data)) ) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); flag = TRUE; break; }#endif #endif#if _APP_CAP_FUNC_VCD_INTRO_SCAN if( IsCdIntroMode() && (!IS_VALID_KEY_IN_CD_INTRO(data)) ) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); flag = TRUE; break; }#endif if((gMenu_cnt & 0x01) && IS_INVALID_KEY_IN_VCD_PBCON(data)) //limeng 061018:fix bug 330 { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); flag = TRUE; break; } flag = IsXvcdPBCMenuKeyForbidden( data ); break; case APP_MMN: if(data == RC_KEY_PROGRAM && ((GetDisplayMainState() == DISPLAY_IMAGE_INFO) \ ||(GetDisplayMainState() == DISPLAY_IMAGE_ALBUM ) || (GetDisplayMainState() == DISPLAY_OFF #if _APP_CAP_FUNC_MMP_VIDEO_PROGRAM && GetMmpFileType()==MMP_IMAGE_FILE#endif ))) { OsdNotAvailOn(); flag = TRUE; }#if _APP_CAP_FUNC_MMP_INTRO_PLAY if ( MmpIntroFlagGet()&& IS_INVALID_KEY_IN_MMP_INTRO(data) ) { OsdNotAvailOn(); flag = TRUE; }#endif #if !_APP_CAP_FUNC_MMP_VIDEO_PROGRAM if(data == RC_KEY_PROGRAM && (GetMmpFileType() == MMP_VIDEO_FILE) && GetDisplayMainState() != DISPLAY_EXPLORER) // cydrain 20060110 { OsdNotAvailOn(); flag = TRUE; }#endif break; default: break; }; return flag;}BOOL KeyInputCheckLLSpecialKey(UCHAR data, UCHAR param){ switch( data ) { case RC_KEY_REPEAT: GuiRepeat(); break; case RC_KEY_REPEAT_AB: GuiRepeatAB(); break; case RC_KEY_PROGRAM: GuiProgram(); break; case RC_KEY_STEREO: GuiLrsteroOn(); break; #if _APP_CAP_OSD_DIGEST case RC_KEY_DIGEST: GuiDigestOn(); break;#endif case RC_KEY_MEMORIZE: GuiProgramEnter(); break; #if _COP_UI_KEY_RANDOM_KEY case RC_KEY_RANDOM: GuiRandom(); break;#endif default: return FALSE; } return TRUE;}/******************************************************************************* Function name : PreProcessofKeys* Arguments : * IN UCHAR* data* * OUT * I/O * Return : BOOL * * By : Yang Lu* Description : Preprocess of PLAYPAUSE, RESUME key; according to the main state* Revision : 1.0 *******************************************************************************/ BOOL PreProcessofKeys( UCHAR* data ){ SetMainState_t main = GetMainState(); OSD_State_st *osd_state; S5H_App_t app_type = S5H_GetAppType(); osd_state = OSD_GetState();//gaoping 20060623#if _COP_CAPTURE_LOGO_USED if (*data==RC_KEY_CPT_LOGO) { if (GetDisplayIconState()==ICON_CPT_LOGO) return TRUE; }#endif if(*data == RC_KEY_PLAYPAUSE) { if(osd_state->etCur_dsp == DISPLAY_SETUP || osd_state->etCur_dsp == DISPLAY_PROGRAM) { *data = RC_KEY_PLAY; } else if(S5H_GetAppType() == APP_DVD) { if(GetDvdDomain() == DVD_DOM_VMGM || GetDvdDomain() == DVD_DOM_VTSM) *data = RC_KEY_PLAY; else if(main == MAIN_PLAY) *data = RC_KEY_PAUSE; else *data = RC_KEY_PLAY; } else if(S5H_GetAppType() == APP_VCD) { if(GetSvcdMenuState() == 1 && IsThisItemSpi()) *data = RC_KEY_PLAY; else if(main == MAIN_PLAY) *data = RC_KEY_PAUSE; else *data = RC_KEY_PLAY; } else if(main == MAIN_PLAY) *data = RC_KEY_PAUSE; else *data = RC_KEY_PLAY; } if(*data == RC_KEY_RESUME) { if(GetMainState() != MAIN_STOP) { *data = RC_KEY_STOP; } else { BOOL is_r_stop = FALSE; switch(S5H_GetAppType()) { case APP_DVD: is_r_stop = (!IsDvdFullStopMode()); break; case APP_VCD: is_r_stop = (!IsSvcdFullStopMode());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -