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

📄 key_defs.h

📁 SAMSUNG 5009的源代码
💻 H
字号:
/******************************************************************************
 *   Filename    : Key_defs.h                                                 *
 *   Start date  : 2002. 9. 5.                                                *
 *   By          : Taejin Kwon                                                *             
 *   Contact     : tj1kwon@samsung.co.kr                                      *
 *   Description : Key defines that from front-panel                          *                                                               *
 ******************************************************************************
 */
#ifndef	_KEY_HANDLE_DEFINES_H_
#define	_KEY_HANDLE_DEFINES_H_

/*********************************************************
 *  Key receive struct
 *********************************************************/
typedef	struct {
	UCHAR	key_mode;
	UCHAR	key_data;
	UCHAR	param;
} Key_t;

/********************************************************
 *    Front panel protocol for Remote control
 *******************************************************/

/**** KEY data ****/
enum{
	RC_KEY_XXXX,
	RC_KEY_NUM0,
	RC_KEY_NUM1,
	RC_KEY_NUM2,
	RC_KEY_NUM3,
	RC_KEY_NUM4,
	RC_KEY_NUM5,
	RC_KEY_NUM6,
	RC_KEY_NUM7,
	RC_KEY_NUM8,
	RC_KEY_NUM9,
	RC_KEY_NUM10,
	RC_KEY_POWER,
	RC_KEY_OPENCLOSE,
	RC_KEY_PLAY	,
	RC_KEY_PLAYENTER,	/* (yanglu, 060109) Play/Enter key combination*/	
	RC_KEY_PAUSE,
	RC_KEY_PLAYPAUSE,
	RC_KEY_RESUME,		/* (yanglu, 051109) Resume key */	
	RC_KEY_STOP	,
	RC_KEY_SETUP,
	RC_KEY_AUDIO,
	RC_KEY_SUBTITLE,
	RC_KEY_ANGLE,
	RC_KEY_TITLE_MENU,
	RC_KEY_ROOT_MENU,
	RC_KEY_PREV	,
	RC_KEY_NEXT	,
	RC_KEY_FF,
	RC_KEY_FR,
	RC_KEY_DISPLAY,
	RC_KEY_PROGRAM,
	RC_KEY_REPEAT,
	RC_KEY_REPEAT_AB,
	RC_KEY_BOOKMARK,
	RC_KEY_RETURN,
	/* Direction keys should follow the order: UP, DOWN, LEFT, RIGHT */
	RC_KEY_UP,
	RC_KEY_DOWN,
	RC_KEY_LEFT,
	RC_KEY_RIGHT,
	RC_KEY_ENTER,
	RC_KEY_CLEAR,
	RC_KEY_STEP,
	RC_KEY_REV_STEP,
	RC_KEY_ZOOM,
	RC_KEY_3D,
	RC_KEY_SLOW_FWD,
	RC_KEY_FIT_DISPLAY,
	RC_KEY_INST_REPLAY,
	RC_KEY_INST_SKIP,
	RC_KEY_DISC_CHANGE,
	RC_KEY_MUTE	,
	RC_KEY_VOLUME_ADD,
	RC_KEY_VOLUME_REDUCE,
	RC_KEY_KEY_ADD,
	RC_KEY_KEY_DEFAULT,
	RC_KEY_KEY_REDUCE,
	RC_KEY_MIC_ADD,		/*BY QQ 060418*/
	RC_KEY_MIC_DEFAULT,
	RC_KEY_MIC_REDUCE,
	RC_KEY_ECHO_ADD,
	RC_KEY_ECHO_DEFAULT,
	RC_KEY_ECHO_REDUCE,
	RC_KEY_SCREEN_DISPLAY,
	RC_KEY_STEREO,
	RC_KEY_DUALMONO,		/*BY QQ 060228 dualmono key for Daewoo*/
	RC_KEY_SEARCH,
	RC_KEY_SLOW_REV,
	RC_KEY_PBC		,
	RC_KEY_EXTERNAV,
	RC_KEY_REVERBRATION,	
	RC_KEY_MEMORIZE,		/* (yanglu, 051107) Direct go into program osd */	
	RC_KEY_RANDOM,		/* (yanglu, 051107) Direct enter random playmode */	
	RC_KEY_CANNOT_PLAY,
	RC_KEY_SAVE_RESUME,
	RC_KEY_FAT_DEVICE_SELECT,	/* USB or 11-in-2 device select key */
	RC_KEY_DIGEST,		/*Digest key for vcd, Jiangshanbin 051229*/
	RC_KEY_KARAOKE,
	RC_KEY_FUNC,
	RC_KEY_TIME,
	RC_KEY_NTSC_PAL,
	RC_KEY_VIDEOMODE,
	RC_KEY_VIDEOSCAN,
	RC_KEY_INTRO,
	RC_KEY_AUTOCLOSE,
	RC_KEY_USB_ATTACH,
	RC_KEY_USB_REMOVE,
	RC_KEY_MCARD_INSERT,
	RC_KEY_MCARD_REMOVE,
	RC_KEY_CPT_LOGO,
	/* Test key page */
	RC_KEY_COLDSTART = 0xA0,
	RC_KEY_SERVO_TEST,
	RC_KEY_LEADIN,
	RC_KEY_TEST_0,
	RC_KEY_TEST_1,
	RC_KEY_TEST_2,
	RC_KEY_TEST_3,
	RC_KEY_TEST_4,
	RC_KEY_TEST_5,
	RC_KEY_TEST_6,
	RC_KEY_TEST_7,
	RC_KEY_TEST_8,
	RC_KEY_TEST_9,
	/* not defined or cannot match 
	 * This number has to be added when a key define is added. 
	 */

    RC_KEY_BLACK_LEVEL, 	// Qian liping 060121: funai, black level key
	 
	RC_KEY_UNKNOWN = 0xFF

};
/****************************************************************************** 
 *  Special Keys for Special Functions
 ******************************************************************************/
#define RC_KEY_SERVO_TEST			(RC_KEY_UNKNOWN + 2)	/* Servo test program */
#define RC_KEY_LEADIN				(RC_KEY_UNKNOWN + 3)	/* This key is used on the MC&T env. */

#define RC_KEY_MODE_NORMAL		0x00	
#define RC_KEY_MODE_FRONT			0x01	/* This key comes from Front Panel */
#define RC_KEY_MODE_DUMMY			0xA5


/* To say this key comes from screen saver. */
#define IT_COMES_FROM_SAVER		0x5A

#define IS_NUM_KEY(data) (((data) >= RC_KEY_NUM0) && ((data) <= RC_KEY_NUM10))

#define IS_DIRECTION_KEY(data) (((data) == RC_KEY_UP)|| \
							((data) == RC_KEY_DOWN)|| \
							((data) == RC_KEY_LEFT)|| \
							((data) == RC_KEY_RIGHT))


/* (Keys forbidden for cd_da disc (051103, yanglu) */
#define IS_INVALID_KEY_FOR_CD_DA(data) (((data) == RC_KEY_PBC)|| \
							((data) == RC_KEY_ZOOM)|| \
							((data) == RC_KEY_STEP)|| \
							((data) == RC_KEY_SLOW_FWD))

/* (Keys forbidden for cdg disc (060403, limeng) */							
#define IS_INVALID_KEY_FOR_CDG(data) (((data) == RC_KEY_REPEAT_AB)|| \
	                                      ((data) == RC_KEY_PBC)|| \
                                              ((data) == RC_KEY_BOOKMARK)|| \
							((data) == RC_KEY_FF)|| \
							((data) == RC_KEY_FR)|| \
							((data) == RC_KEY_SLOW_FWD)||\
							((data) == RC_KEY_STEP)||\
							((data) == RC_KEY_RETURN))
							
#define IS_INVALID_KEY_IN_MENU_DOMAIN(data)(((data) == RC_KEY_SLOW_FWD)||\
											((data) == RC_KEY_SLOW_REV)||\
											((data) == RC_KEY_AUDIO)||\
											((data) == RC_KEY_SUBTITLE)||\
											((data) == RC_KEY_ANGLE) ||\
											((data) == RC_KEY_PAUSE)||\
											((data) == RC_KEY_STEP) ||\
											((data) == RC_KEY_BOOKMARK)||\
											((data) == RC_KEY_TIME)||\
											((data) == RC_KEY_PBC))

/* (Keys forbidden in vcd spi/pbc on (060403, limeng)  */
#define IS_INVALID_KEY_IN_VCD_SPI(data)(((data) == RC_KEY_SLOW_FWD)||\
											((data) == RC_KEY_FF)||\
											((data) == RC_KEY_FR)||\
											((data) == RC_KEY_REPEAT_AB)||\
											((data) == RC_KEY_REPEAT) ||\
											((data) == RC_KEY_ZOOM)||\
											((data) == RC_KEY_STEP) ||\
											((data) == RC_KEY_RETURN) ||\
											((data) == RC_KEY_TIME)||\
											((data) == RC_KEY_BOOKMARK))	
											
/* (Keys forbidden in vcd item empty  (061018,limeng) */											
#define IS_INVALID_KEY_IN_VCD_Empty(data)(((data) == RC_KEY_SLOW_FWD)||\
											((data) == RC_KEY_FF)||\
											((data) == RC_KEY_FR)||\
											((data) == RC_KEY_REPEAT_AB)||\
											((data) == RC_KEY_REPEAT) ||\
											((data) == RC_KEY_ZOOM)||\
											((data) == RC_KEY_STEP) ||\
											((data) == RC_KEY_PAUSE) ||\
											((data) == RC_KEY_RETURN) ||\
											((data) == RC_KEY_TIME) ||\
											((data) == RC_KEY_BOOKMARK))
#define IS_INVALID_KEY_IN_VCD_PBCON(data)(((data) == RC_KEY_BOOKMARK)||\
											((data) == RC_KEY_REPEAT))
#define IS_INVALID_KEY_IN_MMP_INTRO(data) (((data) == RC_KEY_FF)||\
											((data) == RC_KEY_FR)||\
											((data) == RC_KEY_PAUSE)||\
											((data) == RC_KEY_REPEAT_AB)||\
											((data) == RC_KEY_REPEAT) ||\
											((data) == RC_KEY_SEARCH))	

#define IS_VALID_KEY_IN_CD_INTRO(data) (((data) == RC_KEY_STOP)||\
											((data) == RC_KEY_INTRO)||\
											((data) == RC_KEY_DISPLAY)||\
											((data) == RC_KEY_SETUP))	

#define IS_VALID_KEY_IN_DIGEST(data) (((data) == RC_KEY_STOP)||\
											((data) == RC_KEY_NEXT)||\
											((data) == RC_KEY_PREV)||\
											((data) == RC_KEY_PLAY)||\
											((data) == RC_KEY_ENTER)||\
											((data) == RC_KEY_DIGEST)||\
											IS_NUM_KEY(data))
#if 0//clina 061013
#define IS_VALID_KEY_IN_DVD_DIGEST(data) (((data) == RC_KEY_STOP)||\
											((data) == RC_KEY_NEXT)||\
											((data) == RC_KEY_PREV)||\
											((data) == RC_KEY_PLAY)||\
											((data) == RC_KEY_ENTER)||\
											((data) == RC_KEY_DIGEST)||\
											IS_NUM_KEY(data))
#endif											
#define IS_VALIDE_KEY_IN_MAIN_STOP(data)	(((data) == RC_KEY_POWER)||\
											((data) == RC_KEY_OPENCLOSE)||\
											((data) == RC_KEY_PLAY)||\
											((data) == RC_KEY_STOP)||\
											((data) == RC_KEY_SETUP) ||\
											((data) == RC_KEY_PROGRAM)||\
											((data) == RC_KEY_MEMORIZE)||\
											((data) == RC_KEY_RANDOM)||\
											((data) == RC_KEY_DISPLAY) ||\
											((data) == RC_KEY_SEARCH)||\
											((data) == RC_KEY_ENTER)||\
											((data) == RC_KEY_LEFT)||\
											((data) == RC_KEY_RIGHT) ||\
											((data) == RC_KEY_UP)||\
											((data) == RC_KEY_DOWN) ||\
											((data) == RC_KEY_PBC) ||\
											((data) == RC_KEY_TIME) ||\
											((data) == RC_KEY_FAT_DEVICE_SELECT) ||\
											((data) == RC_KEY_DIGEST) ||\
											((data) == RC_KEY_INTRO) ||\
											(IS_NUM_KEY(data)))

#define IS_INVALID_KEY_IN_FULL_STOP(data)(((data) == RC_KEY_STOP)||\
											((data) == RC_KEY_TIME))


#define IS_INVALID_STATUS_IN_LRSTERO(data)	(data == MAIN_PAUSE || \
											data == MAIN_STEP  || \
											data == MAIN_SF || \
											data == MAIN_SR ||\
											data == MAIN_FF || \
											data == MAIN_FR)											

#define IS_INVALID_STATUS_IN_REPEAT(data)	(data == MAIN_SF || \
											data == MAIN_SR ||\
											data == MAIN_FF || \
											data == MAIN_FR)											

#endif /* _KEY_HANDLE_DEFINES_H_ */

⌨️ 快捷键说明

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