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

📄 key_handler_setup.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/****************************************************************************** *   Filename    : Setup_handle.c *   Start       : 2003. 3. 17. *   By          : Taejin Kwon *   Contact     : eric.kwon@samsung.com *   Description : Key handle in the Setup state. *		All key operation is used for setup display control and selection. *		In that time there is no presentation for media but only background *		image displaying. ****************************************************************************** *//****************************************************** *       INCLUDES *****************************************************/#include <string.h>#include <stdio.h>#include "Basic_typedefs.h"#include "CUSTOM/Custom_option.h"#include "OS/OS_abstract.h"#include "API/SH_types.h"#include "API/SH_api.h"#include "COMMON/Common.h"#include "MAIN/Global_state.h"#include "MAIN/Appl_types.h"#include "MAIN/Uop_msg.h"#include "CUSTOM/Osd_types.h"#include "CUSTOM/Osd_if.h"#include "CUSTOM/Strings_ext.h"#include "DRIVER/FS/Fs_api.h"#include "CUSTOM/Key_handler_setup.h"#include "CUSTOM/Key_receive.h"#include "CUSTOM/Key_defs.h"#include "CUSTOM/Key_2_uop.h"#include "MAIN/DVD/Dvd_predef.h"#include "MAIN/DVD/Dvd_common.h"#include "MAIN/SVCD/Svcd_types.h"#include "MAIN/SVCD/Svcd_ext.h"#include "MAIN/SVCD/Svcd_show.h"#include "MAIN/MMP/Mmp_common.h"#include "CUSTOM/FP_handle.h"#include "DRIVER/I2C/I2c_api.h"#include "DRIVER/EEPROM/Eeprom_drv.h"/****************************************************** *       Global variables / functions *****************************************************/SetupTop_t	gSetup_info;BOOL		gPasswd_passed = FALSE;BOOL 		gPasswd_confirmed = FALSE;UINT		gPasswd_wrong_cnt = 0;BOOL		gPasswd_creat = FALSE;ONOFF		gOsd_onoff = TOGGLE_ON;ONOFF		gOsd_angle_onoff = FALSE;UCHAR		gVout_old_type;ONOFF		gScr_saver_onoff = TOGGLE_ON;BOOL		gVersionOn = FALSE;/****************************************************** *       Extern variables  *****************************************************/extern BYTE1			gNew_disc_id;extern volatile BOOL	gTray_open;extern SysTimer_t		gTimer_osd;extern SysTimer_t 		gTimer_num;extern SysTimer_t 		gTimer_selection;#if _APP_CAP_OSD_SUBTITLE_INCLUDE_OFFBOOL gSp_selected;#endif/****************************************************** *       functions *****************************************************/extern VOID SH_KaraokeScoringInit(VOID);extern VOID SH_KaraokeScoringDeInit(VOID);extern INLINE IconState_et GetDisplayIconState( VOID );extern INLINE VOID SetMenuState( OSD_MenuCtrl_st *menu );/******************************************************************************* Function name	: GuiSetupGetFirstDom2Item* Arguments		:  *     IN    		    MenuDom1State_et d1_state*			*     OUT       *     I/O       * Return			: STATIC MenuDom2State_et  *					* By				: changlina* Description		:* Revision		: 1.0  *******************************************************************************/  //****clina****20060315STATIC MenuDom2State_et GuiSetupGetFirstDom2Item( MenuDom1State_et d1_state ){	switch( d1_state )	{		 				case MENU_D1_SUB_LANG:			return MENU_D2_LANG_OSDMENU;			break;					case MENU_D1_SUB_DISP:			return MENU_D2_DISP_ASPECT;			break;		case MENU_D1_SUB_AUDIO:			return MENU_D2_AUDIO_DYN_COMP;			break;		#if _APP_CAP_AUD_KARAOKE		case MENU_D1_SUB_KARAOKE:			return MENU_D2_KARA_ONOFF;			break;#endif#if _APP_CAP_AUD_SETUP_SPEAKER		case MENU_D1_SUB_SPEAKER:			return MENU_D2_SPK_START+1;			break;#endif		case MENU_D1_SUB_PARENT:			return MENU_D2_LOCK_ONOFF;			break;		default:			return MENU_D2_LANG_AUDIO;			break;	}}/******************************************************************************* Function name  	: GuiSetupGetFirstDom3Item* Arguments      	:  *     IN        *					MenuDom2State_et d2_state*     OUT       *     I/O       * Return         	:  MenuDom3State_et*					* By             		:  changlina* Description    	: * Revision       	: 1.0 *******************************************************************************///clina 20060317MenuDom3State_et GuiSetupGetFirstDom3Item(MenuDom2State_et d2_state){	MenuDom2State_et d2 = d2_state;	MenuDom3State_et d3;	SetupLang_t lang;	SetupDisplay_t disp;	SetupAdult_t adult;	SetupAudio_t audio;#if _APP_CAP_AUD_SETUP_SPEAKER		//(weilf)20060808	SetupSpeaker_t speaker;#endif 	//_APP_CAP_AUD_SETUP_SPEAKER#if _APP_CAP_AUD_KARAOKE // Qian liping 060329	SetupKaraoke_t	karaoke;	SetupInfoGetMenuKaraoke(&karaoke);#endif 	SetupInfoGetMenuLang(&lang);	SetupInfoGetMenuDisplay(&disp);	SetupInfoGetMenuAudio(&audio);#if _APP_CAP_AUD_SETUP_SPEAKER		//(weilf)20060808		SetupInfoGetMenuSpeaker(&speaker);#endif 	//_APP_CAP_AUD_SETUP_SPEAKER	SetupInfoGetMenuAdult(&adult);	//SetupInfoGetMenuEtc(&etc);	switch( d2 )	{		/*			Lang					*/		case MENU_D2_LANG_OSDMENU:				d3 = GuiSetupGetDom3UsingLangList(d2, lang.setup );			break;					case MENU_D2_LANG_DISCMENU:			d3 = GuiSetupGetDom3UsingLangList(d2, lang.menu );			break;					case MENU_D2_LANG_AUDIO:			d3 = GuiSetupGetDom3UsingLangList(d2, lang.audio );			break;					case MENU_D2_LANG_SUBTITLE:			d3 = GuiSetupGetDom3UsingLangList(d2, lang.subtitle );			break;					case MENU_D2_LANG_VERSION:  //CLINA 060421			if(lang.version==SET_VERSION_VIEW)				d3= MENU_D3_LANG_VERSION_VIEW;#if  _APP_CAP_FUNC_DIVX_DRM			else				d3=MENU_D3_LANG_VERSION_DRM;#endif			break;					case MENU_D2_LANG_SAVER:			if(lang.saver)				d3= MENU_D3_LANG_SAVER_ON;			else				d3= MENU_D3_LANG_SAVER_OFF;			break;					case MENU_D2_LANG_RESET:				d3= MENU_D3_LANG_RESET_RESTORE;			break;	/*		Display				*/		case MENU_D2_DISP_ASPECT:					if( disp.tv == SET_TV_TYPE_4_3_LB )				d3= MENU_D3_DISP_ASPECT_43LB;			else if( disp.tv == SET_TV_TYPE_4_3_PS )				d3=MENU_D3_DISP_ASPECT_43PS;			else				d3= MENU_D3_DISP_ASPECT_169WIDE;			break;					case MENU_D2_DISP_PAUSE:			if( disp.pause_type == SET_STILL_MODE_AUTO )				d3= MENU_D3_DISP_PAUSE_AUTO;				else if( disp.pause_type == SET_STILL_MODE_FIELD )				d3= MENU_D3_DISP_PAUSE_FIELD;				else				d3= MENU_D3_DISP_PAUSE_FRAME;							break;					case MENU_D2_DISP_MESSAGE:			if(disp.osd)				d3= MENU_D3_DISP_MESSAGE_ON;			else				d3=MENU_D3_DISP_MESSAGE_OFF;			break;#if _COP_UI_OSD_ANGLE_IN_SETUP		case MENU_D2_DISP_ANGLE:			if(disp.angle)				d3= MENU_D3_DISP_ANGLE_ON;			else				d3=MENU_D3_DISP_ANGLE_OFF;			break;#endif#if _APP_CAP_OSD_CAPTURE_LOGO_IN_SETUP		case MENU_D2_DISP_CPT_LOGO:			if(disp.cpt_logo)				d3= MENU_D3_DISP_CPT_LOGO_ON;			else				d3=	MENU_D3_DISP_CPT_LOGO_OFF;			break;#endif		case MENU_D2_DISP_BLACK:				if(disp.bright)				d3=MENU_D3_DISP_BLACK_ON;			else				d3=MENU_D3_DISP_BLACK_OFF;			break;#if _COP_UI_OSD_HDMI_VIDEO_IN_SETUP					case MENU_D2_DISP_HDMI_VIDEO:				if(disp.hdmi_vd == SET_HDMI_720_480)				d3=MENU_D3_DISP_HDMI_VD_720_480;			else if(disp.hdmi_vd == SET_HDMI_1280_720)				d3=MENU_D3_DISP_HDMI_VD_1280_720;			else if(disp.hdmi_vd == SET_HDMI_1920_1080)				d3=MENU_D3_DISP_HDMI_VD_1920_1080;			else 				d3=MENU_D3_DISP_HDMI_VD_AUTO;			break;#endif		case MENU_D2_DISP_TV:			if( disp.tv_system == SET_COLOR_AUTO )				d3=MENU_D3_DISP_TV_AUTO;#if _COP_TV_PAL60			else if( disp.tv_system == SET_COLOR_PAL60)				d3= MENU_D3_DISP_TV_PAL60;#endif#if _COP_TV_PALM			else if( disp.tv_system == SET_COLOR_PALM)				d3= MENU_D3_DISP_TV_PALM;#endif#if _COP_TV_PALN			else if( disp.tv_system == SET_COLOR_PALN)				d3= MENU_D3_DISP_TV_PALN;#endif			else if( disp.tv_system == SET_COLOR_PAL)				d3 = MENU_D3_DISP_TV_PAL;			else				d3= MENU_D3_DISP_TV_NTSC;			break;					case MENU_D2_DISP_SCAN:			      if(disp.scan==SET_SCAN_INT)				d3= MENU_D3_DISP_SCAN_I;			else				d3= MENU_D3_DISP_SCAN_P;			break;#if _APP_VALUE_VIDEO_OUT_NUM            case MENU_D2_DISP_VOUT:	#if _COP_VIDEO_SVIDEO			if(disp.vout==SET_VOUT_SVIDEO)				d3= MENU_D3_DISP_VOUT_SVIDEO;#endif#if _COP_VIDEO_YPBPR			if(disp.vout==SET_VOUT_YPBPR)				d3= MENU_D3_DISP_VOUT_YPBPR;#endif#if _COP_VIDEO_SUB_VGA			if (disp.vout==SET_VOUT_VGA)				d3= MENU_D3_DISP_VOUT_VGA;#endif#if _COP_VIDEO_SUB_RGB			if(disp.vout==SET_VOUT_RGB)				d3 = MENU_D3_DISP_VOUT_RGB;#endif#if _COP_VIDEO_SCART			if(disp.vout==SET_VOUT_SCART)				d3 = MENU_D3_DISP_VOUT_SCART;#endif#if _COP_VIDEO_YUV			if(disp.vout==SET_VOUT_YUV)				d3 = MENU_D3_DISP_VOUT_YUV;#endif			break;#endif	/*		Audio				*/			case MENU_D2_AUDIO_DYN_COMP:				if( audio.dynamic == TOGGLE_ON )				d3= MENU_D3_AUDIO_DRC_ON;			else				d3= MENU_D3_AUDIO_DRC_OFF;			break;#if _COP_UI_OSD_HDMI_AUDIO_IN_SETUP					case MENU_D2_AUDIO_HDMI:				if( audio.hdmi_aud == TOGGLE_ON )				d3= MENU_D3_AUDIO_HDMI_ON;			else				d3= MENU_D3_AUDIO_HDMI_OFF;			break;#endif					case MENU_D2_AUDIO_LPCM_OUTPUT:			if( audio.lpcm == LPCM_OUT_48K )				d3= MENU_D3_AUDIO_LPCM_48;			else				d3= MENU_D3_AUDIO_LPCM_96;			break;		case MENU_D2_AUDIO_SPDIF_DOLBY:						if( audio.dolby == AUDIO_OUT_STREAM_BIT )				d3= MENU_D3_AUDIO_DOLBY_BIT;			else				d3= MENU_D3_AUDIO_DOLBY_PCM;			break;#if _APP_CAP_OSD_SETUP_DTS		case MENU_D2_AUDIO_SPDIF_DTS:			 if( audio.dts == AUDIO_OUT_STREAM_BIT )				d3= MENU_D3_AUDIO_DTS_BIT;			else				d3= MENU_D3_AUDIO_DTS_PCM;			break;#endif#if _API_CAP_GLB_MPEG_AUD_SPDIF_IN_STREAM		case MENU_D2_AUDIO_SPDIF_MPG:			if( audio.mpeg == AUDIO_OUT_STREAM_BIT )				d3= MENU_D3_AUDIO_DTS_BIT;			else				d3= MENU_D3_AUDIO_DTS_PCM;			break;#endif		case MENU_D2_AUDIO_CHAN_OUTPUT:			d3=MENU_D3_AUDIO_CHAN_LRT+audio.channel; //clina 060421					/*audio.channel(SET_SPK_CHANNEL_ID structure)  clina 060421*/			break;			#if! _COP_AUD_2CH_ONLY_OUT //clina 060421					 		case MENU_D2_AUDIO_SPDIF_PCM:			if( audio.pcm == PCM_CHAN_FRONT)				d3= MENU_D3_AUDIO_SPDIF_FRONT;			else if( audio.pcm == PCM_CHAN_SURROUND)				d3= MENU_D3_AUDIO_SPDIF_SURROUND;				else				d3=  MENU_D3_AUDIO_SPDIF_CENTER;						break;#endif			             #if _APP_CAP_AUD_KARAOKE // Qian liping 060329		case 	MENU_D2_KARA_ONOFF:			if( karaoke.mic_setup == TOGGLE_OFF)				d3= MENU_D3_KARA_SET_OFF;			else d3= MENU_D3_KARA_SET_ON;				break;						case 	MENU_D2_KARA_VOL:			d3 =MENU_D3_KARA_VOL_0+karaoke.mic_volume;				break;			      		case	MENU_D2_KARA_ECHO:			d3 =MENU_D3_KARA_ECHO_0+karaoke.echo;				break;					case 	MENU_D2_KARA_KEY:			d3 =MENU_D3_KARA_KEY_N6+karaoke.key;				break;				#if _APP_CAP_AUD_KARAOKE_SCORING		case MENU_D2_KARA_SCORE:			if( karaoke.score == TOGGLE_OFF)				d3= MENU_D3_KARA_SCORE_OFF;			else d3= MENU_D3_KARA_SCORE_ON;				break;#endif /* _APP_CAP_AUD_KARAOKE_SCORING */#endif/*_APP_CAP_AUD_KARAOKE*/ 	/*   		Speaker          			*/#if _APP_CAP_AUD_SETUP_SPEAKER	#if _APP_CAP_AUD_SUB_3D_SEPERATED#if _APP_CAP_AUD_3D             case MENU_D2_SPK_3D:			d3= GuiSetupGetSpk3dDom3(speaker.activevbx);					 break;#endif#endif#if _APP_CAP_AUD_EQ             case MENU_D2_SPK_3DEQ:			d3= GuiSetupGetSpkEqDom3(speaker.equalizer);					 break;#endif                  #if _APP_CAP_AUD_REVERBERATION		case MENU_D2_SPK_REVERBERATION:		 	d3= GuiSetupGetSpkRevDom3(speaker.reverberation);				 	break;#endif#if! _COP_AUD_2CH_ONLY_OUT //clina 060421#if _APP_CAP_AUD_BASE_MANAGE		case MENU_D2_SPK_CONFIG:			 	d3= GuiSetupGetSpkCfgDom3(speaker.configure);		 	break;#endif		case MENU_D2_SPK_TIME_DELAY:			 	d3= MENU_D3_SPK_TIME_DELAY_SET;		 	break;#if _APP_CAP_AUD_TIME_DELAY		case MENU_D2_SPK_SURROUD_DALAY:				 d3= GuiSetupGetSpkSdelayDom3(speaker.s_delay);				 break;		 		case MENU_D2_SPK_CENTER_DALAY:			 d3= GuiSetupGetSpkCdelayDom3(speaker.c_delay);	 		break;#endif/*_APP_CAP_AUD_TIME_DELAY */                 #if _APP_CAP_AUD_PROLOGIC // Qian liping 060424		case MENU_D2_SPK_PROLOGIC:			 if(speaker.prologic )			 	d3= MENU_D3_SPK_PROLOGIC_ON;			 else			 	d3= MENU_D3_SPK_PROLOGIC_OFF;	              break;#endif#if _APP_CAP_AUD_CONTROL_VOLUME// clina 060426		case MENU_D2_SPK_VOLUME:			if(speaker.Volume_type == SPK_VOLUME_SET)				d3= MENU_D3_SPK_VOLUME_SET;			else				d3= MENU_D3_SPK_VOLUME_RESET;	              break;#endif#if _APP_CAP_AUD_CALNOISE		case MENU_D2_SPK_TESTTONE:	  				 if(speaker.test_tone)			 	d3= MENU_D3_SPK_TESTTONE_ON;			 else			 	d3= MENU_D3_SPK_TESTTONE_OFF;	              break;#endif#endif/* _COP_AUD_2CH_ONLY_OUT //clina 060421*/#endif/*_APP_CAP_AUD_SETUP_SPEAKER*/				/*   				lock(parental)          							*/		case MENU_D2_LOCK_ONOFF:			if( adult.set )				d3= MENU_D3_LOCK_PWD_ON;						else				d3= MENU_D3_LOCK_PWD_OFF;						break;		case MENU_D2_LOCK_LEVEL:			  d3=MENU_D3_LOCK_LV_START+ adult.level;			  break;		case MENU_D2_LOCK_CHANGE:			break;		default:                     d3=MENU_D3_LANG_AUDIO_ENG;                     break;	}	return d3;}MenuDom4State_et GuiSetupGetDom4UsingLangList( MenuLang_et lang ){	switch( lang )	{#if 0		#if _APP_CAP_OSD_LANG_CHINESE		case LANG_CHINA: return OTH_LANG_CHINESE;#endif#if _APP_CAP_OSD_LANG_JAPANESE		case LANG_CHINA: return OTH_LANG_JAPAN;#endif#if _APP_CAP_OSD_LANG_PORTUGUESE		case LANG_CHINA: return OTH_LANG_PORTUGUES;#endif#if _APP_CAP_OSD_LANG_RUSSIAN		case LANG_CHINA: return OTH_LANG_RUSSIAN;#endif#endif		case LANG_CESKY: return OTH_LANG_CESKY;		case LANG_DANSK: return OTH_LANG_DANSK;		case LANG_MAGYAR: return OTH_LANG_MAGYAR;		case LANG_SVENSKA: return OTH_LANG_SVENSKA;		case LANG_NORSK: return OTH_LANG_NORSK;		case LANG_POLSKI: return OTH_LANG_POLSKI;		case LANG_SUOMI: return OTH_LANG_SUOMI;		case LANG_AFRIKAANS: return OTH_LANG_AFRIKAANS;		case LANG_ARABIC: return OTH_LANG_ARABIC;		case LANG_THAI: return OTH_LANG_THAI;			case LANG_GREEK: return OTH_LANG_GREEK;		case LANG_HINDI: return OTH_LANG_HINDI;		case LANG_TURKI: return OTH_LANG_TURKI;		case LANG_NEDERLAND: return OTH_LANG_NEDERLAND;		case LANG_KOREAN: return OTH_LANG_KOREAN;  		case LANG_SWEDISH:return OTH_LANG_SWEDISH;		case LANG_FINNISH:return OTH_LANG_FINNISH;		case LANG_ROMAN:return OTH_LANG_ROMAN;		default:			break;	}	return OTH_LANG_CESKY;}//clina 060511MenuDom4State_et GuiSetupGetDefaultLangDom4( )

⌨️ 快捷键说明

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