/******************************************************************** ** File Name: IRNECFAC8890_map.c (IRNECFAC) ** ** File Description: this file is IRNECFAC8890 mapping table ** ** Copyright(c) 2010 Sunplus Technologies - All Rights Reserved ** ** History Information Description ** Date Author Modification ** 2009/02/17 wangdanping create ********************************************************************/ #include "irnecfac8890_map.h" #include "app_event.h" #include "sysapp_table.h" #include "main_app.h" #include "gobj_mgr.h" #include "sysapp_if.h" #include "app_guiobj_popmsg.h" #include "app_menumgr.h" #include "app_guiobj_adjust.h" #ifdef CONFIG_ATV_SUPPORT #include "atv_guiobj_table.h" #if defined(CONFIG_SUPPORT_IR_TX) || defined(CONFIG_SMART_MODULE_SUPPORT) #ifdef CONFIG_SUPPORT_IR_TX #include "ir_tx_mapping_table.h" #endif #ifdef CONFIG_SMART_MODULE_SUPPORT #include "app_smart.h" #endif #include "board_config.h" #include "app_guiobj_source.h" #endif #endif #ifdef CONFIG_DTV_SUPPORT #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) || defined(CONFIG_DTMB_SYSTEM) #include "dvb_guiobj_table.h" #endif #ifdef CONFIG_ISDB_SYSTEM #include "app_guiobj_sbtvd_table.h" #endif #endif #ifdef CONFIG_MEDIA_ENABLE #include "MM_browser_gui.h" #endif #ifdef CONFIG_SUPPORT_PVR #include "mid_recorder.h" #include "mid_tspl.h" #include "pvrparser.h" #include "mid_tspl_parser.h" #endif #ifdef CONFIG_SUPPORT_ATV_SCAN_NTSCM_PALM_N #include "app_guiobj_source.h" #endif #include "ir_map.h" #ifdef CONFIG_SUPPORT_IR_TX typedef struct { AppGlobalEvent_t eRxEvent; IR_TX_EVENT eTxEvent; } IR_CONVERT_st, *pIR_CONVERT_st; IR_CONVERT_st stIRNECFAC8890TxConvertTable[] = { {UI_EVENT_0, IR_TX_NUM0}, {UI_EVENT_1, IR_TX_NUM1}, {UI_EVENT_2, IR_TX_NUM2}, {UI_EVENT_3, IR_TX_NUM3}, {UI_EVENT_4, IR_TX_NUM4}, {UI_EVENT_5, IR_TX_NUM5}, {UI_EVENT_6, IR_TX_NUM6}, {UI_EVENT_7, IR_TX_NUM7}, {UI_EVENT_8, IR_TX_NUM8}, {UI_EVENT_9, IR_TX_NUM9}, {UI_EVENT_10, IR_TX_ADD10}, {UI_EVENT_AUDIO, IR_TX_AUDIO}, {UI_EVENT_SRC_USB, IR_TX_USB_CARD}, {UI_EVENT_PLAY, IR_TX_PLAY}, {UI_EVENT_PAUSE, IR_TX_PAUSE}, {UI_EVENT_PLAY_PAUSE, IR_TX_PLAY_PAUSE}, {UI_EVENT_STOP, IR_TX_STOP}, {UI_EVENT_NEXT, IR_TX_NEXT}, {UI_EVENT_PREV, IR_TX_PREV}, {UI_EVENT_FF, IR_TX_FF}, {UI_EVENT_FR, IR_TX_FR}, {UI_EVENT_UP, IR_TX_UP}, {UI_EVENT_DOWN, IR_TX_DOWN}, {UI_EVENT_LEFT, IR_TX_LEFT}, {UI_EVENT_RIGHT, IR_TX_RIGHT}, {UI_EVENT_RETURN, IR_TX_RETURN}, {UI_EVENT_ENTER, IR_TX_PLAY_ENTER}, {UI_EVENT_EXIT, IR_TX_EXIT}, {UI_EVENT_SUBTITLE, IR_TX_SUB_TITLE}, {UI_EVENT_DISPLAY, IR_TX_DISPLAY}, #if 0 {UI_EVENT_NULL, IR_TX_PBC}, {UI_EVENT_NULL, IR_TX_MENU_PBC}, {UI_EVENT_NULL, IR_TX_PROGRAM}, {UI_EVENT_NULL, IR_TX_CLEAR}, {UI_EVENT_NULL, IR_TX_WIDE}, {UI_EVENT_NULL, IR_TX_PAL_NTSC}, {UI_EVENT_NULL, IR_TX_FORMAT}, {UI_EVENT_NULL, IR_TX_DIGEST}, {UI_EVENT_NULL, IR_TX_SF}, {UI_EVENT_NULL, IR_TX_STEP}, {UI_EVENT_NULL, IR_TX_ZOOM_IN}, {UI_EVENT_NULL, IR_TX_RANDOM}, #endif {UI_EVENT_EPG, IR_TX_SETUP}, {UI_EVENT_RED, IR_TX_TITLE_MENU}, {UI_EVENT_GREEN, IR_TX_GOTO}, {UI_EVENT_YELLOW, IR_TX_REPEAT}, {UI_EVENT_BLUE, IR_TX_SET_A}, {UI_EVENT_TVRADIO, IR_TX_EJECT}, {UI_EVENT_RECALL, IR_TX_ANGLE}, #ifdef CELLO_REMOTE_KEY {UI_EVENT_DVD, IR_TX_SETUP}, #endif }; UINT8 bIRNECFAC8890ConvertTableSize = sizeof(stIRNECFAC8890TxConvertTable)/sizeof(IR_CONVERT_st); static void _TX_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { INT32 dObjectID; sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS; IR_TX_EVENT eEvent = IR_TX_MAX; pIR_CONVERT_st pIRConvertTable = stIRNECFAC8890TxConvertTable; UINT8 bIndex = 0; ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { while(bIndex < bIRNECFAC8890ConvertTableSize) { if (pIRConvertTable[bIndex].eRxEvent == *pbEvent) { eEvent = pIRConvertTable[bIndex].eTxEvent; if (TRUE == APP_Ir_Tx_SendEvent(eEvent)) { *pbEvent = UI_EVENT_NULL; } break; } bIndex++; } } } #endif #ifdef CONFIG_SMART_MODULE_SUPPORT static void _SMART_IRNECFAC8890_EVENT(UINT32 *pbEvent) { if(SMART_SUCCESS == APP_Smart_Set_Smart_IRKey(*pbEvent)) { *pbEvent = UI_EVENT_NULL; } } #endif UINT8 IRNECFAC8890_GetKeyCodeEvent(UINT32 cid, UINT8 u8Keycode, UINT32 * u32Event) { UINT8 i; UINT32 j = 0; if (u32Event == NULL) { return FALSE; } while (j < dIR_map_size) { if (strncmp((char *) (stIR_map[j].IRName), "IRNECFAC8890", strlen((char *) (stIR_map[j].IRName))) == 0) { for (i = 0; i < stIR_map[j].IR_Count; i++) { if (stIR_map[j].pdIR_Map[i].Keycode == u8Keycode && stIR_map[j].pdIR_Map[i].CusCode == cid) { *u32Event = stIR_map[j].pdIR_Map[i].Event; return TRUE; } } } j++; } return FALSE; } #ifdef CONFIG_ATV_SUPPORT static void _ATV_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { INT32 dObjectID; sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS; PopmsgType_t eType; #if defined(CONFIG_SUPPORT_IR_TX) || defined(CONFIG_SMART_MODULE_SUPPORT) APP_Source_Type_t eSourceType = APP_SOURCE_MAX; APP_GUIOBJ_Source_GetCurrSource(&eSourceType); #ifdef CONFIG_SUPPORT_IR_TX if (APP_SOURCE_DVD == eSourceType) { _TX_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent); } #endif #ifdef CONFIG_SMART_MODULE_SUPPORT if((APP_SOURCE_HDMI + CONFIG_HDMI_SMART_PORT) == eSourceType) { _SMART_IRNECFAC8890_EVENT(pbEvent); } #endif #endif switch(*pbEvent) { #ifdef CONFIG_SUPPORT_3D_EN case UI_EVENT_PIP_MENU: *pbEvent = UI_EVENT_3D; break; #endif case UI_EVENT_MENU: if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) && (dObjectID != APP_GUIOBJ_BANNER) && (dObjectID != ATV_GUIOBJ_INPUTINFO) && (dObjectID != ATV_GUIOBJ_PROGNUM) && #ifdef SUPPORT_CEC_TV (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) && #endif #ifdef CONFIG_SUPPORT_TTX (dObjectID != ATV_GUIOBJ_TTX) && #endif (!((dObjectID == ATV_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) && (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME))) && (dObjectID != APP_GUIOBJ_SOURCE) &&(dObjectID != ATV_GUIOBJ_FAVLIST) &&(dObjectID != ATV_GUIOBJ_CHNLIST) ) { *pbEvent = UI_EVENT_RETURN; } break; case UI_EVENT_KEYPAD_LEFT: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == ATV_GUIOBJ_INPUTINFO) || (dObjectID == ATV_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || #ifdef SUPPORT_CEC_TV (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || #endif ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_VOL_DN; } else { *pbEvent = UI_EVENT_LEFT; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_VOL_DN; } break; case UI_EVENT_KEYPAD_RIGHT: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == ATV_GUIOBJ_INPUTINFO) || (dObjectID == ATV_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || #ifdef SUPPORT_CEC_TV (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || #endif ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_VOL_UP; } else { *pbEvent = UI_EVENT_RIGHT; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_VOL_UP; } break; case UI_EVENT_KEYPAD_UP: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == ATV_GUIOBJ_INPUTINFO) || (dObjectID == ATV_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_CH_UP; } else { *pbEvent = UI_EVENT_UP; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_CH_UP; } break; case UI_EVENT_KEYPAD_DOWN: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == ATV_GUIOBJ_INPUTINFO) || (dObjectID == ATV_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_CH_DN; } else { *pbEvent = UI_EVENT_DOWN; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_CH_DN; } break; case UI_EVENT_KEYPAD_SOURCE: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == ATV_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM)) { *pbEvent = UI_EVENT_ENTER; } else { *pbEvent = UI_EVENT_SOURCE; } } else { *pbEvent = UI_EVENT_SOURCE; } break; #ifdef SUPPORT_FACTORY_AUTO_TEST case UI_EVENT_AUTO_OUTPUTPCADJ: { extern int APP_Factory_GetAutoTestOnOff(void); if(APP_Factory_GetAutoTestOnOff() == TRUE) { *pbEvent = UI_EVENT_PCAUTOADJ; } break; } #endif case UI_EVENT_KEYPAD_POWER: /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0, sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData)); if(g_stFactoryUserData.BurnInModeOnOff == 1) { break; } *pbEvent = UI_EVENT_POWER;*/ break; default: break; } } #endif #ifdef CONFIG_DTV_SUPPORT static void _DVB_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { INT32 dObjectID; sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS; PopmsgType_t eType; switch(*pbEvent) { #ifdef CONFIG_SUPPORT_MHEG5 case UI_EVENT_EXIT: case UI_EVENT_UP: case UI_EVENT_DOWN: case UI_EVENT_LEFT: case UI_EVENT_RIGHT: case UI_EVENT_RED: case UI_EVENT_GREEN: case UI_EVENT_YELLOW: { int sdRet = 0; if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5)) { if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS) { SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent, (UINT32)&sdRet); } } break; } #endif case UI_EVENT_BLUE: #ifdef CONFIG_SUPPORT_MHEG5 { int sdRet = 0; if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5)) { if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS) { SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent, (UINT32)&sdRet); } } } #endif break; #ifdef CONFIG_SUPPORT_3D_EN case UI_EVENT_PIP_MENU: *pbEvent = UI_EVENT_3D; break; #endif case UI_EVENT_MENU: if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) && (dObjectID != APP_GUIOBJ_BANNER) && (dObjectID != DVB_GUIOBJ_PROGINFO) && (dObjectID != DVB_GUIOBJ_PROGNUM) && #ifdef SUPPORT_CEC_TV (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) && #endif #ifdef CONFIG_SUPPORT_TTX (dObjectID != DVB_GUIOBJ_TTX) && #endif (!((dObjectID == DVB_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) && (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME))) && (dObjectID != APP_GUIOBJ_SOURCE) &&(dObjectID != DVB_GUIOBJ_EPG) #ifdef CONFIG_SUPPORT_PVR && (dObjectID != DVB_GUIOBJ_PVR_REC) &&(dObjectID != DVB_GUIOBJ_SUBTITLEMENU) &&(dObjectID != DVB_GUIOBJ_MULTIAUD) //[shanchi]20140114 #endif &&(dObjectID != DVB_GUIOBJ_FAVLIST) &&(dObjectID != DVB_GUIOBJ_CHNLIST) ) { *pbEvent = UI_EVENT_RETURN; } break; case UI_EVENT_TTX_INDEX: #ifdef CONFIG_SUPPORT_TTX if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) && (dObjectID == DVB_GUIOBJ_TTX) ) { break; } else #endif *pbEvent = UI_EVENT_PVR_SETTING;//UI_EVENT_REC_FILE; break; case UI_EVENT_ASPECT: #ifdef CONFIG_SUPPORT_PVR if (MID_TSPLParser_GetThreadState() == TRUE) { UINT32 u32PEState = MID_TSPL_MODE_PLAY; MID_TSPLParser_GetPlayState(&u32PEState, NULL); if (u32PEState == MID_TSPL_MODE_PAUSE) { *pbEvent = UI_EVENT_NULL; } } #endif break; case UI_EVENT_PLAY_PAUSE: #ifdef CONFIG_SUPPORT_PVR if (MID_RecorderState() != MID_REC_STATUS_STOP) { break; } else { *pbEvent = UI_EVENT_TIMESHIFT; } #endif break; case UI_EVENT_STOP: #ifdef CONFIG_SUPPORT_PVR if(APP_MenuMgr_Exist_Main_Menu() && (MID_RecorderState() != MID_REC_STATUS_STOP)) { *pbEvent |= PASS_TO_SYSAPP; } #endif break; case UI_EVENT_KEYPAD_LEFT: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == DVB_GUIOBJ_PROGINFO) || (dObjectID == DVB_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || #ifdef SUPPORT_CEC_TV (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || #endif ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_VOL_DN; } else { *pbEvent = UI_EVENT_LEFT; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_VOL_DN; } break; case UI_EVENT_KEYPAD_RIGHT: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == DVB_GUIOBJ_PROGINFO) || (dObjectID == DVB_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || #ifdef SUPPORT_CEC_TV (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || #endif ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_VOL_UP; } else { *pbEvent = UI_EVENT_RIGHT; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_VOL_UP; } break; case UI_EVENT_KEYPAD_UP: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == DVB_GUIOBJ_PROGINFO) || (dObjectID == DVB_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_CH_UP; } else { *pbEvent = UI_EVENT_UP; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_CH_UP; } break; case UI_EVENT_KEYPAD_DOWN: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == DVB_GUIOBJ_PROGINFO) || (dObjectID == DVB_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) || ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_CH_DN; } else { *pbEvent = UI_EVENT_DOWN; } } else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { *pbEvent = UI_EVENT_CH_DN; } break; case UI_EVENT_KEYPAD_SOURCE: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == DVB_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM)) { *pbEvent = UI_EVENT_ENTER; } else { *pbEvent = UI_EVENT_SOURCE; } } else { *pbEvent = UI_EVENT_SOURCE; } break; case UI_EVENT_KEYPAD_POWER: /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0, sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData)); if(g_stFactoryUserData.BurnInModeOnOff == 1) { break; } *pbEvent = UI_EVENT_POWER;*/ break; default: break; } } #endif #ifdef CONFIG_MEDIA_ENABLE static void _FILE_Player_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { switch(*pbEvent) { case UI_EVENT_MENU: if ((APP_MenuMgr_Need_Change_MenuKey()) || (APP_MenuMgr_Exist_Factory_Menu()) || //#ifndef CONFIG_ISDB_SYSTEM (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_INITINSTALL)) || //#endif #ifdef SUPPORT_CEC_TV (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_AMPLIFIERVOLUME)) || #endif ((SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_ADJUST)) && (APP_GUIOBJ_Adjust_GetType() != ADJUST_VOLUME) && (APP_GUIOBJ_Adjust_GetType() != ADJUST_HDMICEC_AMPVOLUME))) { *pbEvent = UI_EVENT_RETURN; } break; #ifdef CONFIG_SUPPORT_3D_EN case UI_EVENT_PIP_MENU: *pbEvent = UI_EVENT_3D; break; #endif default: break; } } #endif #ifdef NET_SUPPORT static void _Network_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { switch(*pbEvent) { case UI_EVENT_MENU: break; case UI_EVENT_KEYPAD_LEFT: *pbEvent = UI_EVENT_LEFT; break; case UI_EVENT_KEYPAD_RIGHT: *pbEvent = UI_EVENT_RIGHT; break; case UI_EVENT_KEYPAD_UP: *pbEvent = UI_EVENT_UP; break; case UI_EVENT_KEYPAD_DOWN: *pbEvent = UI_EVENT_DOWN; break; case UI_EVENT_KEYPAD_SOURCE: *pbEvent = UI_EVENT_SOURCE; break; case UI_EVENT_KEYPAD_POWER: *pbEvent = UI_EVENT_POWER; break; default: break; } } #endif void IRNECFAC8890_EventConvert(UINT32 *pbEvent) { UINT32 dSystemAppIndex; if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS) { switch(dSystemAppIndex) { #ifdef CONFIG_ATV_SUPPORT case SYS_APP_ATV: _ATV_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent); break; #endif #ifdef CONFIG_DTV_SUPPORT case SYS_APP_DVB: _DVB_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent); break; #endif #ifdef CONFIG_MEDIA_ENABLE case SYS_APP_FILE_PLAYER: _FILE_Player_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent); break; #endif #ifdef CONFIG_SUPPORT_NETAPP case SYS_APP_NETWORK: _Network_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent); break; #endif default: break; } } }