📄 ui_input_ir.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 + -