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

📄 key_handler_setup.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
			{				*d4_state = MENU_D4_SPK_TIME_DLY_START+1;				return FALSE;			}			else 				return TRUE;			break;					case MENU_D3_SPK_VOLUME_SET:			if (*d4_state<=MENU_D4_SPK_VOL_START)			{				*d4_state = MENU_D4_SPK_VOL_END-1;				return FALSE;			}			if(*d4_state>=MENU_D4_SPK_VOL_END)			{				*d4_state = MENU_D4_SPK_VOL_START+1;				return FALSE;			}			else 				return TRUE;			break;#endif#endif		default:		       return TRUE;	}	return TRUE;}/******************************************************************************* Function name	: GuiSetupCheckDom5List* Arguments		:  *     IN    		   MenuDom3State_et d4_state, MenuDom4State_et *d5_state*			*     OUT       *     I/O       * Return			: *					* By				: changlina 060426* Description		:* Revision		: 1.0  *******************************************************************************/  STATIC BOOL GuiSetupCheckDom5List( MenuDom4State_et d4_state, MenuDom5State_et *d5_state ){	switch(d4_state)	{	#if _APP_CAP_AUD_SETUP_SPEAKER		case MENU_D4_SPK_TIME_CDLY:			if (*d5_state<=MENU_D5_SPK_CDLY_START+1)			{				*d5_state = MENU_D5_SPK_CDLY_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_CDLY_END-1)			{				*d5_state = MENU_D5_SPK_CDLY_END-1;				return FALSE;			}			else				return TRUE;			break;		case MENU_D4_SPK_TIME_SDLY:			if (*d5_state<=MENU_D5_SPK_SDLY_START+1)			{				*d5_state = MENU_D5_SPK_SDLY_START+1;				return FALSE;			}			if(*d5_state>=MENU_D5_SPK_SDLY_END-1)			{				*d5_state = MENU_D5_SPK_SDLY_END-1;				return FALSE;			}			else				return TRUE;			break;#if _APP_CAP_AUD_CONTROL_VOLUME		case MENU_D4_SPK_VOL_FL:			if (*d5_state<=MENU_D5_SPK_VOL_FL_START+1)			{				*d5_state = MENU_D5_SPK_VOL_FL_START+1;				return FALSE;			}			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;}#if _SUPPORT_TVG_FUNCTION_		//(weilf)20060705/******************************************************************************* Function name	: GuiSetupCheckDom6List* Arguments		:  *     IN    		   *			*     OUT       *     I/O       * Return			: *					* By				: Weilifeng* Description		:20060705* Revision		: 1.0  *******************************************************************************/  STATIC BOOL GuiSetupCheckDom6List( MenuDom6State_et *d6_state ){		if (*d6_state<=MENU_D6_START)		{			*d6_state = MENU_D6_START+1;			return FALSE;		}		else if(*d6_state>=MENU_D6_END)		{			*d6_state = MENU_D6_END-1;			return FALSE;		}		else			return TRUE;}	/******************************************************************************* Function name	: GuiSetupCheckDom7List* Arguments		:  *     IN    		   *			*     OUT       *     I/O       * Return			: *					* By				: Weilifeng* Description		:20060705* Revision		: 1.0  *******************************************************************************/STATIC BOOL GuiSetupCheckDom7List( MenuDom6State_et *d6_state,MenuDom7State_et *d7_state ){	char low=0,high=0;	switch(*d6_state)	{		case MENU_D6_TVG_GUARDIAN:			low = MENU_D7_GUARDIAN_START;			high = MENU_D7_GUARDIAN_END;			break;					case MENU_D6_TVG_HELL_DAMN:			low = MENU_D7_HELL_START;			high = MENU_D7_HELL_END;						break;					case MENU_D6_TVG_RELIGIOUS:			low = MENU_D7_RELIGIOUS_START;			high = MENU_D7_RELIGIOUS_END;						break;					case MENU_D6_TVG_SEXUAL:			low = MENU_D7_SEXUAL_START;			high = MENU_D7_SEXUAL_END;						break;					case MENU_D6_TVG_CC_MODE:			low = MENU_D7_CCMODE_START;			high = MENU_D7_CCMODE_END;			break;					case MENU_D6_TVG_CC_CHANNEL:			low = MENU_D7_CCCHANNEL_START;			high = MENU_D7_CCCHANNEL_END;			break;					default:			break;	}		if (*d7_state<=low)		{			*d7_state = low+1;			return FALSE;		}		else if(*d7_state>=high)		{			*d7_state = high-1;			return FALSE;		}		else			return TRUE;}	/******************************************************************************* Function name	: SetupInfoSetMenuKaraoke* Arguments		:  *     IN    		   *			*     OUT       *     I/O       * Return			: *					* By				: Weilifeng* Description		:20060720* Revision		: 1.0  *******************************************************************************/VOID SetupInfoSaveTVG(VOID){	UCHAR temp1,temp2;		temp1 = (UCHAR)  (gSetup_info.TVG.TVGuardian << 5) | 					(gSetup_info.TVG.hell_damn << 4) |					(gSetup_info.TVG.religious << 3) |					(gSetup_info.TVG.sexual <<2)|					(gSetup_info.TVG.activation_flag <<1);			temp2 = (UCHAR)	(gSetup_info.TVG.ccmode << 6) |					(gSetup_info.TVG.ccchannel << 4)|					(gSetup_info.TVG.number_ad << 1);	SH_writeEepromByte( ROM_ADDR_TVG_GUARDIAN, temp1 );	SH_writeEepromByte( ROM_ADDR_TVG_CC, temp2 );}/******************************************************************************* Function name	: SetupInfoSetMenuKaraoke* Arguments		:  *     IN    		   *			*     OUT       *     I/O       * Return			: *					* By				: Weilifeng* Description		:20060720* Revision		: 1.0  *******************************************************************************/VOID SetupInfoSetTVG( SetupTVG_t *tvg ){	memcpy(&gSetup_info.TVG,tvg,sizeof(SetupTVG_t));	SetTVGSetupItem();			SetupInfoSaveTVG();	}/******************************************************************************* Function name	: GuiSetupChangeD7Value* Arguments		:  *     IN    		   *			*     OUT       *     I/O       * Return			: *					* By				: Weilifeng* Description		:20060720* Revision		: 1.0  *******************************************************************************/STATIC CHAR GuiSetupChangeD7Value( MenuDom7State_et d7_state  ){	SetupTVG_t tvg;	tvg = gSetup_info.TVG;		switch(d7_state)	{	case MENU_D7_GUARDIAN_OFF:	case MENU_D7_GUARDIAN_TOLERANT:	case MENU_D7_GUARDIAN_MODERATE:	case MENU_D7_GUARDIAN_STRICT:		tvg.TVGuardian = d7_state - MENU_D7_GUARDIAN_START;		break;			case MENU_D7_HELL_FILTERED:	case MENU_D7_HELL_OFF:		tvg.hell_damn = d7_state - MENU_D7_HELL_START-1;		break;		case MENU_D7_RELIGIOUS_FILTERED:	case MENU_D7_RELIGIOUS_OFF:		tvg.religious = d7_state - MENU_D7_RELIGIOUS_START-1;		break;	case MENU_D7_SEXUAL_FILTERED:	case MENU_D7_SEXUAL_OFF:		tvg.sexual = d7_state - MENU_D7_SEXUAL_START-1;		break;		case MENU_D7_CCMODE_OFF:	case MENU_D7_CCMODE_ONMUTE:	case MENU_D7_CCMODE_ONCONTINUOUS:		tvg.ccmode = d7_state - MENU_D7_CCMODE_START;		break;		case MENU_D7_CCCHANNEL_CC2:	case MENU_D7_CCCHANNEL_CC1:		tvg.ccchannel = d7_state - MENU_D7_CCCHANNEL_START;		break;			}	SetupInfoSetTVG(& tvg);}#endif	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 : GuiSetupNumControl *  Arguments     :  *  Return        : VOID *  By            : Liurenliang *  Description   :  ******************************************************************************/ 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);#if _HJL_NEW_SETUP_SCHEME	OSD_ChangeSetup( OSD_CTRL_SETUP_NUMBER, NULL, SYS_WAIT );	return;#endif	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;						GuiSetupEnter(0);					} 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;							setup.passwd_type = PASSWD_SUB_CHECK;							OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );							/* retry */							setup.passwd_type = PASSWD_SUB_CHECK;							OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );						} else {							gPasswd_wrong_cnt = 0;							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.passwd = adult.tmp_pass;						SetupInfoSetMenuAdult( &adult );						SetupInfoSetPasswdSet( TRUE );	// cydrain 20050817						gPasswd_wrong_cnt = 0;						gPasswd_confirmed = TRUE;						gPasswd_passed = TRUE;												GuiSetupReturn( 0 );													} else {						setup.passwd_type = PASSWD_SUB_NOTMATCH;						OSD_ChangeSetup( OSD_CTRL_SETUP_PW_CHECK, &setup, SYS_WAIT );					}					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);

⌨️ 快捷键说明

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