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

📄 ui_input_ir.c

📁 ZORAN 962/966 SOURCE CODE,DVD chip
💻 C
字号:
/****************************************************************************************************
*  Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: ui_input_ir.c
*
* Description:
* =========
* IR lookup table
****************************************************************************************************/
#include "Config.h"		// Global Configuration - do not remove!
#include "include\sysdefs.h"	// Global definition - do not remove!

#ifdef DEBUG_UI_TRACE
#undef IFTRACE
#define IFTRACE if (gTraceUI)
#include "Debug\DbgMain.h"
#endif //DEBUG_UI_TRACE

#ifndef DEBUG_UI_TRACE
#undef dbg_printf(sMsg)
#define dbg_printf(sMsg)
#undef	dbgm_printf(sMsg, mode)
#define dbgm_printf(sMsg, mode)
#endif

/****************************************************************************************************
*	INCLUDE FILES
****************************************************************************************************/
// Include C Standard

// Include project specific
#include "kernel\eventdef.h"
#include "UI_Manager\UI_Input\ui_input_ir.h"

/****************************************************************************************************
*	DEFINITION: Private named constants 
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Private macros
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Private typedefs
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Public (global) variables
****************************************************************************************************/
/****************************************************************************************************
*	DEFINITION: Private (static) variables
****************************************************************************************************/
/****************************************************************************************************
*	DECLARATION: Private (static) functions
****************************************************************************************************/

/****************************************************************************************************
*	DEFINITION: Public functions
****************************************************************************************************/
CONST WORD g_ir_system_code = SYSTEM_CODE;  /* remote system code */
CONST WORD g_ir_power_key_code = IRKC_POWER; /* power_off key code */

// Mapping of remote keys to User interface command codes
#define IR_KEY_MAP_COUNT    58

static CONST UI_KEY_MAP ir_key_map[IR_KEY_MAP_COUNT]=
{
	{IRKC_EJECT,				UICC_EJECT},
	{IRKC_POWER,			UICC_POWER},
	{IRKC_KARAOKE,			UICC_KARAOKE},
	{IRKC_3D,				UICC_3D},
	{IRKC_MUTE,				UICC_MUTE},
	{IRKC_LR,				UICC_LR},
	{IRKC_AUDIO,			UICC_AUDIO},
	{IRKC_SUBTITLE,			UICC_SUBTITLE},
	{IRKC_GAME,				UICC_GAME},
	{IRKC_ANGLE,			UICC_ANGLE},
	{IRKC_MENU,				UICC_MENU},
	{IRKC_TITLE,			UICC_TITLE},
	{IRKC_1,				UICC_1},
	{IRKC_2,				UICC_2},
	{IRKC_3,				UICC_3},
	{IRKC_4,				UICC_4},
	{IRKC_5,				UICC_5},
	{IRKC_6,				UICC_6},
	{IRKC_7,				UICC_7},
	{IRKC_8,				UICC_8},
	{IRKC_9,				UICC_9},
	{IRKC_0,				UICC_0},
	{IRKC_DISPLAY,			UICC_DISPLAY},
	{IRKC_SEARCH,			UICC_SEARCH},
	{IRKC_CLEAR,			UICC_CLEAR},
	{IRKC_ZOOM,				(UICC_ZOOM | UICC_HOLD_ENABLE)},
	{IRKC_SLOWF,			(UICC_SLOWF | UICC_HOLD_ENABLE)},
	{IRKC_PAUSE,			(UICC_PAUSE | UICC_HOLD_ENABLE)},
	{IRKC_PLAY,				UICC_PLAY},
	{IRKC_MARKAB,			UICC_MARKAB},
	{IRKC_SLOWB,			(UICC_SLOWB | UICC_HOLD_ENABLE)},
	{IRKC_STOP,				UICC_STOP},
	{IRKC_SKIPB,			UICC_SKIPB},
	{IRKC_SKIPF,				UICC_SKIPF},
	{IRKC_LEFT,				(UICC_LEFT | UICC_HOLD_ENABLE)},
	{IRKC_RIGHT,			(UICC_RIGHT | UICC_HOLD_ENABLE)},
	{IRKC_UP,				(UICC_UP | UICC_HOLD_ENABLE)},
	{IRKC_DOWN,			(UICC_DOWN | UICC_HOLD_ENABLE)},
	{IRKC_ENTER,			UICC_ENTER},
	{IRKC_FASTR,			(UICC_FASTR | UICC_HOLD_ENABLE)},
	{IRKC_FASTF,				(UICC_FASTF | UICC_HOLD_ENABLE)},
	{IRKC_MODE,				UICC_MODE},
	{IRKC_SETUP,			UICC_SETUP},
	{IRKC_RETURN,			UICC_RETURN},
	
	{IRKC_PLAY_PAUSE,		UICC_PLAY_PAUSE},
	{IRKC_TV_SYS,			UICC_TV_SYS},
	{IRKC_STEP,				UICC_STEP_FORWARD},
	{IRKC_REPEAT,			UICC_REPEAT},
	{IRKC_VOLUME_DOWN,		UICC_VOLUME_DOWN},
	{IRKC_VOLUME_UP,		UICC_VOLUME_UP},
	{IRKC_PBC,				UICC_PBC},
	{IRKC_PROLOGIC,			UICC_PROLOGIC},
	{IRKC_BOOK_MARK,	       UICC_BOOKMARK},
	{IRKC_10P,				UICC_10P},
	{IRKC_RESET,			UICC_RESET},
	{IRKC_PROGRAM,			UICC_PROGRAM},
	{IRKC_VIDEO_OUTMODE,	UICC_VIDEO_OUTMODE},
	{IRKC_SHUFFLE,			UICC_SHUFFLE},
//	{IRKC_A,			UICC_A},
//	{IRKC_C,			UICC_C}
};


/**********************************************************************************
 * Name			:
 *
 * Purpose		:
 *
 * Input			:
 *
 * Return Value	:
 *
 * Description		:
 *
 * Comments		:
 *
**********************************************************************************/
UINT16 UI_ConvertIRKeyToUICC( UINT16 wIRKey)
{
	UINT8	cLoop;
	BOOL	bIsHoldIRKey;

	bIsHoldIRKey = (wIRKey & KEY_STATUS_HOLD) ? TRUE : FALSE;
	
	wIRKey &= KEY_CODE_MASK;
	
	for( cLoop = 0; cLoop < IR_KEY_MAP_COUNT; cLoop++ )
	{
		if ((ir_key_map[cLoop].wInputKeyCode != 0xffff) && ( ir_key_map[cLoop].wInputKeyCode == wIRKey ))
		{
			if(bIsHoldIRKey)
			{
				if(!( ir_key_map[cLoop].wUICommandCode & UICC_HOLD_ENABLE))
				{
					return UICC_NULL;
				}
			}
			return (ir_key_map[cLoop].wUICommandCode & UICC_MASK); //make sure that key code value is not larger than 0xFF
		}
	}

	tr_printf(("Error, unkonwn remoter key code\n"));
	return UICC_NULL;
}



⌨️ 快捷键说明

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