⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key_receive.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
			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 + -