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

📄 key_handler_setup.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
			}			if(*d5_state>=MENU_D5_SPK_VOL_FL_END-1)			{				*d5_state = MENU_D5_SPK_VOL_FL_END-1;				return FALSE;			}			else				return TRUE;			break;		case MENU_D4_SPK_VOL_FR:			if (*d5_state<=MENU_D5_SPK_VOL_FR_START+1)			{				*d5_state = MENU_D5_SPK_VOL_FR_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_VOL_FR_END-1)			{				*d5_state = MENU_D5_SPK_VOL_FR_END-1;				return FALSE;			}			else				return TRUE;			break;		case MENU_D4_SPK_VOL_SL:			if (*d5_state<=MENU_D5_SPK_VOL_SL_START+1)			{				*d5_state = MENU_D5_SPK_VOL_SL_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_VOL_SL_END-1)			{				*d5_state =MENU_D5_SPK_VOL_SL_END-1;				return FALSE;			}			else				return TRUE;			break;		case MENU_D4_SPK_VOL_SR:			if (*d5_state<=MENU_D5_SPK_VOL_SR_START+1)			{				*d5_state = MENU_D5_SPK_VOL_SR_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_VOL_SR_END-1)			{				*d5_state = MENU_D5_SPK_VOL_SR_END-1;				return FALSE;			}			else				return TRUE;			break;		case MENU_D4_SPK_VOL_CEN:			if (*d5_state<=MENU_D5_SPK_VOL_CEN_START+1)			{				*d5_state = MENU_D5_SPK_VOL_CEN_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_VOL_CEN_END-1)			{				*d5_state = MENU_D5_SPK_VOL_CEN_END-1;				return FALSE;			}			else				return TRUE;			break;		case MENU_D4_SPK_VOL_SUB:			if (*d5_state<=MENU_D5_SPK_VOL_SUB_START+1)			{				*d5_state = MENU_D5_SPK_VOL_SUB_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_VOL_SUB_END-1)			{				*d5_state = MENU_D5_SPK_VOL_SUB_END-1;				return FALSE;			}			else				return TRUE;			break;#endif#endif		default:		       return TRUE;	}	return TRUE;}STATIC VOID SetupSelectDom2( MenuDom2State_et select ){	OsdSetupCtrl_st setup;	setup.d2_old = select;	setup.d2_new = select;	OSD_ChangeSetup( OSD_CTRL_SETUP_SEL_D2, &setup, SYS_WAIT );}STATIC VOID SetupSelectDom3( MenuDom3State_et select ){	OsdSetupCtrl_st setup;	setup.new_depth = MENU_DOM_DEPTH_3;	setup.d3_old = select;	setup.d3_new = select;		OSD_ChangeSetup(OSD_CTRL_SETUP_SEL_D3, &setup, SYS_WAIT);}/****************************************************************************** *  Function name 	: GuiSetupHandlePasswdDom *  Arguments     	:  *  Return       	: VOID *  By            		:  changlina 060530 *  Description   	: ******************************************************************************/STATIC VOID GuiSetupHandlePasswdDom( VOID ){	OSD_State_st 		*osd_state;		OsdSetupCtrl_st 	setup;	SetupAdult_t	 		adult;		SetupInfoGetMenuAdult( &adult );	osd_state = OSD_GetState();	if(osd_state->etSetup_dsp.depth==MENU_DOM_DEPTH_3)	{		setup.passwd_type = PASSWD_SUB_CHECK;		OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );	}	else if(osd_state->etSetup_dsp.depth==MENU_DOM_DEPTH_4)	{		switch(osd_state->etSetup_dsp.d2_list)		{			case MENU_D2_LOCK_CHANGE:				switch( osd_state->etSetup_dsp.pass_step )				{					case PASSWD_SUB_CHECK:						setup.passwd_type = PASSWD_SUB_CHANGE;						OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );							gPasswd_passed = FALSE;						break;					case PASSWD_SUB_CONFIRM:												setup.passwd_type = PASSWD_SUB_CHECK;						OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );						break;					default:						break;					}				break;							case MENU_D2_LOCK_LEVEL:				//gPasswd_passed = FALSE;				osd_state->etSetup_dsp.pass_step= PASSWD_SUB_NONE;				SetMenuState(&osd_state->etSetup_dsp);				adult.level = osd_state->etSetup_dsp.d3_list - MENU_D3_LOCK_LV_START;				SetupInfoSetMenuAdult( &adult );				GuiSetupReturn(0);				break;			default:				break;		}	}}/****************************************************************************** *  Function name : GuiSetupNumControl *  Arguments     :  *  Return        : VOID *  By            : Liurenliang *  Description   : //changlina 060529 ******************************************************************************/ VOID GuiSetupNumControl(UCHAR key){	TempKeeper_t 	data; 	OSD_State_st 	*osd_state; 	OsdSetupCtrl_st setup;	SetupAdult_t	adult;	SetupLang_t		lang;	BOOL			ret;	BYTE2			temp_2dig;	// to get 2 digit value	BYTE2			temp_3dig;	// to get 3 digit value	BYTE1 			input_dig;		osd_state = OSD_GetState();	SetTempValueSetFlag( TRUE );	if (key == RC_KEY_NUM10)		SetTempValue(10);	else		SetTempValue(key - RC_KEY_NUM0);	SetupInfoGetMenuLang(&lang);	/* Get current data */	GetTempValueState( &data );	temp_2dig = GetTempValue(2);	temp_3dig = GetTempValue(3);	input_dig = GetTempInputDig();	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)	{		setup.passwd_count = input_dig;		OSD_ChangeSetup( OSD_CTRL_SETUP_PW_ENTER, &setup, SYS_WAIT );				/* 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];						SetupInfoSetMenuAdult( &adult );					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 );                                  					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;						GuiSetupHandlePasswdDom();											} else {						gPasswd_wrong_cnt++;												if( gPasswd_wrong_cnt < 3 )//clina 20060330						{							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 );							/* Show wrong message for a while */							SysSleep(1500, 0);														/* retry */							setup.passwd_type = PASSWD_SUB_CHECK;							OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );						} else {							gPasswd_wrong_cnt = 0;							setup.passwd_type = PASSWD_SUB_NONE;							osd_state->etSetup_dsp.depth=MENU_DOM_DEPTH_1;							SetMenuState(&osd_state->etSetup_dsp);							GuiSetupReturn( 0 );//clina 060403						}					}						break;									case PASSWD_SUB_CONFIRM:					ret = SetupComparePassword( data.number[0], 						data.number[1], data.number[2], data.number[3] );												if( ret == TRUE )					{						adult.set = TRUE;						adult.passwd = adult.tmp_pass;						SetupInfoSetMenuAdult( &adult );						SetupInfoSetPasswdSet( TRUE );	// cydrain 20050817						gPasswd_wrong_cnt = 0;						gPasswd_confirmed = TRUE;						gPasswd_passed = TRUE;						GuiSetupReturn( 0 );													} else {						adult.set = FALSE;						setup.passwd_type = PASSWD_SUB_NOTMATCH;						OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );						SysSleep(1000, 0);						//setup.passwd_type = PASSWD_SUB_CHECK;						//OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );						GuiSetupHandlePasswdDom();					}					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);						gPasswd_wrong_cnt = 0;						gPasswd_confirmed = TRUE;						gPasswd_passed = TRUE;						GuiSetupReturn( 0 );													} else {						adult.set = FALSE;						SetupInfoSetMenuAdult( &adult );						SetupInfoSetPasswdSet(FALSE);						setup.passwd_type = PASSWD_SUB_NOTMATCH;//clina060403						OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );					}					break;					}			InitTempValueState();		}		OSD_SetTimer( OSD_TIMER_NORMAL, OSD_TIME_FOR_PW_CHECK);			}/*	else if( osd_state->etSetup_dsp.depth == MENU_DOM_DEPTH_4 &&			osd_state->etSetup_dsp.d3_list == MENU_D3_LANG_RESET_RESTORE&&			(data.number[0] > 0 && data.number[0] <= MENU_SUPPORT_LANG_NUM) )	{		SetupInfoInit(TRUE);		SetupInfoGetMenuLang(&lang);				if( data.number[0] == 1 )			lang.setup = LANG_ENG;		else if( data.number[0] == 2 )			lang.setup = LANG_SPA;		else 			lang.setup = LANG_SPA;				lang.setup=gSetupOSDLangOrderMap[data.number[0]-1];		SetupInfoSetMenuLang(&lang);		InitTempValueState();		GuiSetupEnd(0);	}*/	else	{		InitTempValueState();				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);		OSD_SetTimer(  OSD_TIMER_ICON, OSD_TIME_FOR_WARNING );		}		}/****************************************************************************** *  Function name : GuiSetupStop *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  ****************************************************************************** */VOID GuiSetupStop( UCHAR param ){	switch( S5H_GetAppType())	{			case APP_DVD:		case APP_VCD:			GuiSetupEnd(param);			UiCmdGeneral( UOP_STOP );			break;		case APP_MMN:			GuiSetupEnd(param);			break;		default:			break;	}}/****************************************************************************** *  Function name : GuiSetupEnd *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   : End of the SETUP window  ****************************************************************************** */// Qian liping 060407 VOID GuiSetupEnd( UCHAR param ) {	SH_writeEepromFromBuffer();	SetTempValueSetFlag( FALSE );		gPasswd_passed = FALSE;	gVersionOn= FALSE; //clina 060422#if _APP_CAP_AUD_SETUP_SPEAKER#if _APP_CAP_AUD_CALNOISE	{		SetupSpeaker_t speaker;		SetupInfoGetMenuSpeaker(&speaker);		if(speaker.test_tone == TOGGLE_ON)		{			speaker.test_tone = TOGGLE_OFF;			SetupInfoSetMenuSpeaker(&speaker);		}	}#endif//clina 060508	{		if(gOSD_state.etSetup_dsp.depth==MENU_DOM_DEPTH_4)			GuiSetupChangeD4Speaker(gOSD_state.etSetup_dsp.d4_list);		else if(gOSD_state.etSetup_dsp.depth==MENU_DOM_DEPTH_5)		{			GuiSetupChangeD4Speaker(gOSD_state.etSetup_dsp.d4_list);			GuiSetupChangeD5Speaker(gOSD_state.etSetup_dsp.d5_list);		}		//GuiSetupReturn( param);	}#endif	// Qian liping 060415	if(GetDisplayIconState()== ICON_WARNING )	{		OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);	}		/* Return setup  menu start to play directly*/	if( !GuiMessageKeep() )	{		UiBigOsd(FALSE, BIG_OSD_SETUP);	 	if( S5H_GetAppType() == APP_DVD  )//Qian liping 060418			OSD_SetMainDisplay(DISPLAY_OFF, SYS_WAIT); //limeng 060923:next key must be handled after display_off complete	}}/****************************************************************************** *  Function name : GuiSetupPlayPause *  Arguments     :  *  Return        : VOID *  By            : Taejin Kwon *  Description   :  *  Revisions     : ****************************************************************************** */VOID GuiSetupPlayPause( UCHAR param ){ 	GuiSetupEnd(0);}/****************************************************************************** *  Function name : SetupInfoGetMenuAdult *  Arguments     : adult *  Return        : VOID *  By            : Taejin Kwon *  Description   : Fill the adult setup information to input arg ****************************************************************************** */VOID SetupInfoGetMenuAdult( SetupAdult_t *adult ){	memcpy(adult,&gSetup_info.adult,sizeof(SetupAdult_t));}/****************************************************************************** *  Function name : SetupInfoGetMenuEtc *  Arguments     : adult *  Return        : VOID *  By            : Taejin Kwon *  Description   : Fill the adult setup information to input arg ****************************************************************************** */VOID SetupInfoGetMenuEtc( SetupEtc_st *etc ){	memcpy(etc,&gSetup_info.etc,sizeof(SetupEtc_st));}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  * Revision       :  *******************************************************************************/VOID OtherLangSel(UCHAR data){	OSD_State_st *osd_state;	MenuDom4State_et	old_d4;	MenuDom4State_et	temp;	OsdSetupCtrl_st setup;		osd_state = OSD_GetState();	old_d4 = osd_state->etSetup_dsp.d4_list;	temp = osd_state->etSetup_dsp.d4_list - OTH_LANG_CESKY;		switch (data)	{		case RC_KEY_LEFT:			if ((temp / 6) == 0)				osd_state->etSetup_dsp.d4_list += 12;			else 				osd_state->etSetup_dsp.d4_list -= 6;			break;		case RC_KEY_RIGHT:			if ((temp / 6) == 2)				osd_state->etSetup_dsp.d4_list -= 12;			else 				osd_state->etSetup_dsp.d4_list += 6;			break;		case RC_KEY_UP:			if ((temp % 6) == 0)				osd_state->etSetup_dsp.d4_list += 5;			else 				osd_state->etSetup_dsp.d4_list -= 1;			break;		case RC_KEY_DOWN:			if ((temp % 6) == 5)				osd_state->etSetup_dsp.d4_list -=5;			else 				osd_state->etSetup_dsp.d4_list += 1;			break;	}	SetMenuState( &osd_state->etSetup_dsp );	setup.d4_old = old_d4;	setup.d4_new = osd_state->etSetup_dsp.d4_list;	OSD_ChangeSetup( OSD_CTRL_SETUP_SEL_D4, &setup, SYS_WAIT );#if _APP_CAP_OSD_SETUP_OSD_TIMEOUT	OSD_SetTimer(OSD_TIMER_NORMAL, OSD_TIME_FOR_SETUP);#endif	/* !_APP_CAP_OSD_TOGGLE_BY_HOTKEY	 */}STATIC VOID GuiSetupSelectOtherLang(UCHAR data)	// cydrain 20060330, move from below to avoid warning.{	OSD_State_st			*osd_state;	MenuDom4State_et	old_d4, new_d4;	MenuDom4State_et	temp;	OsdSetupCtrl_st		setup;

⌨️ 快捷键说明

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