/******************************************************************** ** File Name: IRK2_map.c (IRK2) ** ** File Description: this file is sunplus ir 501 mapping table ** ** Copyright(c) 2010 Sunplus Technologies - All Rights Reserved ** ** History Information Description ** Date Author Modification ** 2009/02/17 wangdanping create ********************************************************************/ #include "irk2_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" #ifdef CONFIG_SUPPORT_IR_TX #include "ir_tx_mapping_table.h" #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" #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 stIRK2TxConvertTable[] = { {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_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}, {UI_EVENT_SRC_USB, IR_TX_USB_CARD}, {UI_EVENT_CHLIST, IR_TX_SETUP}, #ifdef CELLO_REMOTE_KEY {UI_EVENT_DVD, IR_TX_SETUP}, #endif #if 0 {UI_EVENT_NULL, IR_TX_TITLE_MENU}, {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_SET_A}, {UI_EVENT_NULL, IR_TX_REPEAT}, {UI_EVENT_NULL, IR_TX_FORMAT}, {UI_EVENT_NULL, IR_TX_ANGLE}, {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}, {UI_EVENT_NULL, IR_TX_EJECT}, #endif }; UINT8 bIRK2ConvertTableSize = sizeof(stIR501TxConvertTable)/sizeof(IR_CONVERT_st); static void _TX_IR501_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 = stIR501TxConvertTable; UINT8 bIndex = 0; ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ) { while(bIndex < bIRK2ConvertTableSize) { if (pIRConvertTable[bIndex].eRxEvent == *pbEvent) { eEvent = pIRConvertTable[bIndex].eTxEvent; if (TRUE == APP_Ir_Tx_SendEvent(eEvent)) { *pbEvent = UI_EVENT_NULL; } break; } bIndex++; } } } #endif UINT8 IRK2_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), "IRK2", 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_IRK2_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { INT32 dObjectID; sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS; PopmsgType_t eType; #ifdef CONFIG_SUPPORT_IR_TX APP_Source_Type_t eSourceType = APP_SOURCE_MAX; APP_GUIOBJ_Source_GetCurrSource(&eSourceType); if (APP_SOURCE_DVD == eSourceType) { _TX_IRK2_Event_convert(dSystemAppIndex, pbEvent); } #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) && (dObjectID != ATV_GUIOBJ_SIF) && (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) && (!((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))) ) { *pbEvent = UI_EVENT_RETURN; } break; case UI_EVENT_TTX_INDEX: #ifdef CONFIG_SUPPORT_TTX if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) && (dObjectID == ATV_GUIOBJ_TTX) ) { break; } else #endif *pbEvent = UI_EVENT_CHLIST; break; #ifdef CONFIG_SUPPORT_TTX case UI_EVENT_10: #ifdef CONFIG_DTV_SUPPORT if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) && (dObjectID == DVB_GUIOBJ_TTX) ) { *pbEvent = UI_EVENT_TTX_CANCEL; } #endif break; case UI_EVENT_TVRADIO: #ifdef CONFIG_ATV_SUPPORT if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == GUI_OBJMGR_SUCCESS) && (dObjectID == ATV_GUIOBJ_TTX) ) { *pbEvent = UI_EVENT_TTX_HOLD; } #endif break; #endif 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) || (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || ((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) || (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || ((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; 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.n_FactSet_BurningMode == 1) { break; } *pbEvent = UI_EVENT_POWER;*/ break; #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) #ifndef CONFIG_SUPPORT_ATV_SCAN_NTSCM_PALM_N case UI_EVENT_AD: *pbEvent = UI_EVENT_MultiPanelIndex; break; #else case UI_EVENT_AD: { APP_Source_Type_t SourceType = APP_SOURCE_MAX; APP_GUIOBJ_Source_GetCurrSource(&SourceType); if (APP_SOURCE_ATV != SourceType) { *pbEvent = UI_EVENT_MultiPanelIndex; } else { //switch atv type between air and catv } } break; #endif #endif default: break; } } #endif #ifdef CONFIG_DTV_SUPPORT static void _DVB_IRK2_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_BLUE: 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 #ifdef CONFIG_SUPPORT_3D_EN case UI_EVENT_PIP_MENU: *pbEvent = UI_EVENT_3D; break; #endif 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_CHLIST; break; #ifdef CONFIG_SUPPORT_TTX case UI_EVENT_10: if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) && (dObjectID == DVB_GUIOBJ_TTX) ) { *pbEvent = UI_EVENT_TTX_CANCEL; } break; case UI_EVENT_TVRADIO: if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == GUI_OBJMGR_SUCCESS) && (dObjectID == DVB_GUIOBJ_TTX) ) { *pbEvent = UI_EVENT_TTX_HOLD; } 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) && (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) && (!((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))) #ifdef CONFIG_SUPPORT_PVR && (dObjectID != DVB_GUIOBJ_PVR_PLAYINFO) && (dObjectID != DVB_GUIOBJ_PVR_FILEPLAY) #endif ) { *pbEvent = UI_EVENT_RETURN; } break; case UI_EVENT_PLAY_PAUSE: #ifdef CONFIG_SUPPORT_PVR if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_RECORDLIST) || SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_PVR_FILEPLAY) || (MID_RecorderState() != MID_REC_STATUS_STOP)) { break; } else { *pbEvent = UI_EVENT_TIMESHIFT; } #endif break; case UI_EVENT_ASPECT: #ifdef CONFIG_SUPPORT_PVR /*if (MID_TSPLParser_GetThreadState() == TRUE) { UINT32 u32PEState = PE_STATE_IDLE; MID_TSPLParser_GetPlayState(&u32PEState, NULL); if (u32PEState == PE_STATE_PAUSE) { *pbEvent = UI_EVENT_NULL; } }*/ #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) || (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || ((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) || (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || ((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.n_FactSet_BurningMode == 1) { break; } *pbEvent = UI_EVENT_POWER;*/ break; #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) case UI_EVENT_AD: *pbEvent = UI_EVENT_MultiPanelIndex; break; #endif default: break; } } #endif #ifdef CONFIG_MEDIA_ENABLE static void _FILE_Player_IRK2_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent) { INT32 dObjectID; sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS; PopmsgType_t eType; switch(*pbEvent) { case UI_EVENT_MENU: if ((APP_MenuMgr_Exist_Main_Menu()) || (APP_MenuMgr_Exist_Factory_Menu()) || //#ifndef CONFIG_ISDB_SYSTEM (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_INITINSTALL)) || //#endif (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_AMPLIFIERVOLUME)) || ((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 case UI_EVENT_KEYPAD_LEFT: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) || (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) || (dObjectID == APP_GUIOBJ_BANNER) || (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || //((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) && (dvb_FileBrowser_GetAudioPlayState() != MEDIA_STATE_STOP)) || ((dObjectID == MEDIA_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_VOL_DN; } else { *pbEvent = UI_EVENT_LEFT; } } break; case UI_EVENT_KEYPAD_RIGHT: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) || (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) || (dObjectID == APP_GUIOBJ_BANNER) || (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) || ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || //((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) && (dvb_FileBrowser_GetAudioPlayState() != MEDIA_STATE_STOP)) || ((dObjectID == MEDIA_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD)))) { *pbEvent = UI_EVENT_VOL_UP; } else { *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: ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID); APP_GUIOBJ_PopMsg_GetMsgType(&eType); if (ret == SYSTEM_APP_SUCCESS) { if ((dObjectID == MEDIA_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: //*pbEvent = UI_EVENT_POWER; break; #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) case UI_EVENT_AD: *pbEvent = UI_EVENT_MultiPanelIndex; break; #endif default: break; } } #endif #ifdef NET_SUPPORT static void _Network_IRK2_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 IRK2_EventConvert(UINT32 *pbEvent) { UINT32 dSystemAppIndex; if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS) { switch(dSystemAppIndex) { #ifdef CONFIG_ATV_SUPPORT case SYS_APP_ATV: _ATV_IRK2_Event_convert(dSystemAppIndex, pbEvent); break; #endif #ifdef CONFIG_DTV_SUPPORT case SYS_APP_DVB: _DVB_IRK2_Event_convert(dSystemAppIndex, pbEvent); break; #endif #ifdef CONFIG_MEDIA_ENABLE case SYS_APP_FILE_PLAYER: _FILE_Player_IRK2_Event_convert(dSystemAppIndex, pbEvent); break; #endif #ifdef CONFIG_SUPPORT_NETAPP case SYS_APP_NETWORK: _Network_IRK2_Event_convert(dSystemAppIndex, pbEvent); break; #endif default: break; } } }