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

📄 key_receive.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
					break;				case APP_MMN:					is_r_stop = ( GetMmpStopMode() == 1 ) ? 1 : 0;					break;			}			if( is_r_stop )			{				*data = RC_KEY_PLAY;			}			else				{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);				return TRUE;			}		}	}	#ifdef _MTK_STYLE// Qian liping 060606: merge from 5008 _MTK_STYLE	if( *data == RC_KEY_RETURN )	{#ifndef _APP_CAP_ROCO_VCD_RETURN //clina 061019#if 0//clina 061019		/* As DAEWOO reference set (yanglu, 060302) */		if( GetDisplayMainState() == DISPLAY_BOOKMARK )		{			*data = RC_KEY_CLEAR;		}#endif		if( GetTempValueSetFlag() == TRUE && app_type != APP_MMN)			{			*data = RC_KEY_CLEAR;		}#if 0//clina 061019		else if( app_type == APP_MMN )		{			if (gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1SEARCH )				*data = RC_KEY_CLEAR;		}#endif		else if( GetDisplayIconState() == ICON_NUMERIC )		{			*data = RC_KEY_CLEAR;		}#endif	}	if( *data == RC_KEY_DIGEST )	{		if( app_type == APP_MMN || GetDiscState() == CD_DA )			*data = RC_KEY_INTRO;	}	if( *data == RC_KEY_STEREO )		*data = RC_KEY_DUALMONO;		if( *data == RC_KEY_PBC && app_type == APP_DVD )	{		*data = RC_KEY_TITLE_MENU;	}#endif		#if 0	if( data == RC_KEY_PLAY )	{		if( main < MAIN_PLAY && main < MAIN_CHANGE )		{			//UiCmdGeneral( UOP_PLAY );			return TRUE;		}	}#if _APP_CAP_KEY_SEPERATE_PLAY	if( data == RC_KEY_PAUSE )		data = RC_KEY_PLAY;#endif#endif	return FALSE;	}#if _APP_CAP_KEY_USE_VIDEO_OUT_CHANGE/******************************************************************************* Function name	: GuiVideoModeSetting* Arguments		:  *     IN    		    VOID*			*     OUT       *     I/O       * Return			: VOID  *					* By				: QQ* Description		: Set the Video Mode* Revision		: 1.0  *******************************************************************************/  VOID GuiVideoModeSetting(VOID){	S5H_VideoMode_t video_mode;	SetupDisplay_t display_info;	SetupInfoGetMenuDisplay(&display_info);		//SSCR changlina 060531 change the realize rule to change vout mode	if(display_info.vout==SET_VOUT_END-1)		display_info.vout=SET_VOUT_START+1;	else		display_info.vout++;	switch(display_info.vout)	{#if _COP_VIDEO_SVIDEO		case SET_VOUT_SVIDEO:			video_mode = VIDEO_OUT_SVIDEO;			break;#endif#if _COP_VIDEO_YPBPR		case SET_VOUT_YPBPR:			video_mode = VIDEO_OUT_COMPONENT;			break;#endif#if _COP_VIDEO_SUB_VGA		case SET_VOUT_VGA:			video_mode = VIDEO_OUT_VGA;			break;#endif#if _COP_VIDEO_SUB_RGB		case SET_VOUT_RGB:			video_mode = VIDEO_OUT_RGB;			break;#endif#if _COP_VIDEO_SCART		case SET_VOUT_SCART:			video_mode = VIDEO_OUT_SCART;			break;#endif#if _COP_VIDEO_YUV		case SET_VOUT_YUV:			video_mode = VIDEO_OUT_YUV;			break;#endif	}	S5H_SetVideoMode(video_mode);	SetupInfoSetMenuDisplay(&display_info);}/******************************************************************************* Function name	: GuiVideoMode* Arguments		:  *     IN    		    VOID*			*     OUT       *     I/O       * Return			: VOID  *					* By				: QQ* Description		: * Revision		: 1.0  *******************************************************************************/  VOID GuiVideoMode(VOID){	OSD_State_st *osd_state;	osd_state = OSD_GetState();#if _APP_CAP_OSD_ENSURE_MESSAGE	if( osd_state->etCur_dsp  == DISPLAY_PROGRAM ||		osd_state->etCur_dsp  == DISPLAY_SETUP	)	{		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);	  	return;	}	if( osd_state->etCur_icon == ICON_LOADING)///clina 061013 fix bug697	{		return;	}	if( osd_state->etCur_icon != ICON_VIDEOMODE_ENSURE )	{		OSD_SetIconDisplay(ICON_VIDEOMODE_ENSURE, NULL, SYS_NO_WAIT);		return;	}#endif /*_APP_CAP_OSD_ENSURE_MESSAGE */	GuiVideoModeSetting();		if(osd_state->etCur_dsp == DISPLAY_EXPLORER)		MmpShowNoticeString(MMP_NOTICE_VIDEOMODE, NULL);	else if( gLoading_on != TRUE )// Qian liping 060425: in loading, not show the NTSC/PAL osd.		OSD_SetIconDisplay(ICON_VIDEOMODE, NULL, SYS_NO_WAIT);	SpecialKeyUpdateInSetup( RC_KEY_VIDEOMODE );}#endif/*(_APP_CAP_KEY_USE_VIDEO_OUT_CHANGE)*/#if _APP_CAP_KEY_USE_VIDEO_SCAN_CHANGE/******************************************************************************* Function name	: GuiVideoScan* Arguments		:  *     IN    		    VOID*			*     OUT       *     I/O       * Return			: VOID  *					* By				: QQ* Description		: * Revision		: 1.0  *******************************************************************************/  VOID GuiVideoScan(VOID){	SetupDisplay_t display_info;	OSD_State_st *osd_state;	osd_state = OSD_GetState();			if( osd_state->etCur_icon == ICON_LOADING)///clina 061013 fix bug697	{		return;	}		SetupInfoGetMenuDisplay(&display_info);		if( display_info.scan == SET_SCAN_INT )	{		display_info.scan = SET_SCAN_PRO;		S5H_SetVideoIntProgMode(VIDEO_PROGRESSIVE_AUTO, FALSE);		/*********************************************		 * Add a new spec for DVS 2004.3.12		 *   When the video output is progressive out, 		 *  black level must turn off.		 *********************************************/				 display_info.bright = TOGGLE_OFF;		 S5H_SetBlackLevelOn( FALSE );	} 	else 	{		display_info.scan = SET_SCAN_INT;		S5H_SetVideoIntProgMode(VIDEO_INTERLACE_AUTO, FALSE);	}	SetupInfoSetMenuDisplay(&display_info);		if(osd_state->etCur_dsp == DISPLAY_EXPLORER)		MmpShowNoticeString(MMP_NOTICE_VIDEOSCAN, NULL);	else if( gLoading_on != TRUE )// Qian liping 060425: in loading, not show the NTSC/PAL osd.		OSD_SetIconDisplay(ICON_VIDEOSCAN, NULL, SYS_NO_WAIT);	SpecialKeyUpdateInSetup( RC_KEY_VIDEOSCAN );	}#endif/*_APP_CAP_KEY_USE_VIDEO_SCAN_CHANGE*/#if _APP_CAP_FUNC_VOLUM_CONTOL#if _APP_CAP_AUD_FUNCTION_KEY		/******************************************************************************* Function name	: GuiFuncCtrl* Arguments		:  *     IN    		    UCHAR data*			*     OUT       *     I/O       * Return			: VOID  *					* By				: Lu Shuai* Description		: * Revision		: 1.0  *******************************************************************************/  VOID GuiFuncCtrl(UCHAR data) {		OSD_State_st		*osd_state;	VolOsdType_et 	vol_type;	SINT			delta_val;	BOOL			inc_vol;	SetMainState_t	main_state;	SetupKaraoke_t	karaoke;	UCHAR		volume;	osd_state = OSD_GetState();	main_state = GetMainState();	/*if(osd_state->etCur_icon == ICON_LOADING || main_state == MAIN_LEADIN)		return;*/	if (! VolumeCtrlAvail())	{		OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);		return;	}	vol_type = GetDisplayVolOsdTypeState();		/*BY QQ 060418 if has defined MIC ,ECHO ,KEY related key , 		vol control key only for vol bar ,otherwise use vol key control mic ,key, vol bar.		We could block them only to set the 1 to 0 in distinguish sentence as below*/	#if 1			if( data == RC_KEY_VOLUME_ADD ||data == RC_KEY_VOLUME_REDUCE )	{		VolOsdType_et	map_array[][2] = {					{RC_KEY_MIC_ADD , RC_KEY_MIC_REDUCE,},					{RC_KEY_ECHO_ADD , RC_KEY_ECHO_REDUCE,},					{RC_KEY_KEY_ADD , RC_KEY_KEY_REDUCE,},					{RC_KEY_VOLUME_ADD , RC_KEY_VOLUME_REDUCE,},					};		BOOL		offset = 0;		/*<<<<<<<<< Qian liping 060807: bug fix 598*/		if( osd_state->etCur_icon == ICON_VOLUME )		/*>>>>>>>>> Qian liping 060807 */		{			offset = data - RC_KEY_VOLUME_ADD;			/*For VOL add & reduce key map to the Key function*/			if( 1 && (vol_type == VOL_TYPE_KEY) )			{				data = map_array[vol_type][offset];			}			/*For VOL add & reduce key map to the MIC function*/			if( 1 && (vol_type == VOL_TYPE_MIC) )			{				data = map_array[vol_type][offset];			}			/*For VOL add & reduce key map to the ECHO function*/			if( 1 && (vol_type == VOL_TYPE_ECHO) )			{				data = map_array[vol_type][offset];			}			}	}#endif		if(data == RC_KEY_VOLUME_ADD || data == RC_KEY_KEY_ADD ||data == RC_KEY_MIC_ADD ||data == RC_KEY_ECHO_ADD )	{		delta_val = 1;		inc_vol = TRUE;	}	else if(data ==  RC_KEY_VOLUME_REDUCE || data == RC_KEY_KEY_REDUCE ||data ==  RC_KEY_MIC_REDUCE || data == RC_KEY_ECHO_REDUCE )	{		delta_val = -1;		inc_vol = FALSE;	}	else if( data == RC_KEY_KEY_DEFAULT || data == RC_KEY_MIC_DEFAULT || data == RC_KEY_ECHO_DEFAULT )	{		delta_val = 0;	}	if( data ==  RC_KEY_KEY_ADD || data == RC_KEY_KEY_REDUCE || data == RC_KEY_KEY_DEFAULT )	{		vol_type = VOL_TYPE_KEY;	}	else	if( data ==  RC_KEY_MIC_ADD|| data == RC_KEY_MIC_REDUCE || data == RC_KEY_MIC_DEFAULT )	{		vol_type = VOL_TYPE_MIC;	}	else	if( data ==  RC_KEY_ECHO_ADD || data == RC_KEY_ECHO_REDUCE || data == RC_KEY_ECHO_DEFAULT )	{		vol_type = VOL_TYPE_ECHO;	}	else	if( data ==  RC_KEY_VOLUME_ADD || data == RC_KEY_VOLUME_REDUCE || vol_type == VOL_TYPE_NULL )	{		vol_type = VOL_TYPE_MAIN;	}	SetDisplayVolOsdTypeState(vol_type);		osd_state = OSD_GetState();	vol_type = osd_state->etVolume_type;		if( data ==  RC_KEY_KEY_ADD || data == RC_KEY_KEY_REDUCE || data == RC_KEY_KEY_DEFAULT )	{		vol_type = VOL_TYPE_KEY;		SetDisplayVolOsdTypeState(vol_type);	}	else	if( (data ==  RC_KEY_VOLUME_ADD || data == RC_KEY_VOLUME_REDUCE) && vol_type == VOL_TYPE_NULL )	{		vol_type = VOL_TYPE_MAIN;		SetDisplayVolOsdTypeState(vol_type);	}		SetupInfoGetMenuKaraoke(&karaoke);		switch(vol_type)	{#if _APP_CAP_AUD_KARAOKE//BY QQ 060216		case VOL_TYPE_MIC:			 volume = karaoke.mic_volume ;			if( delta_val == 0 )		/* BY QQ 060418*/			{				volume = SET_KARA_VOL_0;			}else			{				volume = ((volume + delta_val) <=SET_KARA_VOL_8 &&\						(volume + delta_val) >= SET_KARA_VOL_0)?\						(volume + delta_val) : volume;			}			if( volume != karaoke.mic_volume )			{				 karaoke.mic_volume = volume ;			}			break;					case VOL_TYPE_ECHO:			volume = karaoke.echo ;						if( delta_val == 0 )		/* BY QQ 060418*/			{				volume = SET_KARA_ECHO_0;			}else			{				volume = ((volume + delta_val) <=SET_KARA_ECHO_8 &&\						(volume + delta_val) >= SET_KARA_ECHO_0)?\						(volume + delta_val) : volume;			}			if( volume != karaoke.echo )			{				 karaoke.echo = volume ;			}			break;#endif/*_APP_CAP_AUD_KARAOKE*/			case VOL_TYPE_KEY:			volume = karaoke.key ;			if( delta_val == 0 )		/* BY QQ 060220 */			{				volume = SET_KARA_KEY_0;			}			else			{				volume = ((volume + delta_val) <=SET_KARA_KEY_P6 &&\						(volume + delta_val) >= SET_KARA_KEY_N6)?\						(volume + delta_val) : volume;			}			/*BY QQ 060228 no need to update the kara key func */			if( volume != karaoke.key )			{				karaoke.key = volume ;			}			break;					case VOL_TYPE_MAIN:			if( SH_AUD_GetMasterMute() )			{				SH_AUD_SetMasterMute(!SH_AUD_GetMasterMute());				if(S5H_GetAppType() == APP_MMN) /* (yanglu, 051106) */					MmpShowNoticeString(MMP_NOTICE_DEFAULT, NULL);		//(weilf)if mute icon exit,clear mute icon			}			else				SH_AUD_SetVolume(inc_vol);			break;		default:			break;	}      	SetupInfoSetMenuKaraoke(&karaoke);	OSD_SetIconDisplay(ICON_VOLUME, NULL, SYS_NO_WAIT);	}/******************************************************************************* Function name	: GuiFuncKey* Arguments		:  *     IN    		    UCHAR data*			*     OUT       *     I/O       * Return			: VOID  *					* By				: Qian liping 060413* Description		: Handle function key* Revision		: 1.0  *******************************************************************************/  VOID GuiFuncKey(UCHAR data){	VolOsdType_et	vol_oldtype, vol_newtype, vol_starttype;	OSD_State_st		 *osd_state;	SetupKaraoke_t	karaoke;	SetMainState_t	main_state;		VolOsdType_et	func_type[5]={									VOL_TYPE_MIC,										VOL_TYPE_ECHO,	// if there is no RC_KEY_ECHO_ADD and RC_KEY_ECHO_Reduce, Use VOL_TYPE_ECHO,  else USE Oxff.									VOL_TYPE_KEY,	// if there is no RC_KEY_KEY_ADD and RC_KEY_KEY_Reduce, Use VOL_TYPE_KEY,else USE Oxff..									VOL_TYPE_MAIN,									VOL_TYPE_NULL,								};	osd_state = OSD_GetState();	main_state = GetMainState();	if(osd_state->etCur_icon == ICON_LOADING || main_state == MAIN_LEADIN)		return;	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -