123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795 |
- /*******************************************************************************
- * @file keypad_mapping.c
- * @note Copyright (c) 2011 Sunplus-prof Technology Co., Ltd.
- * @log
- * Revision 0.1 2011/04/14
- * create
- *******************************************************************************/
- /*******************************************************************************
- * Header Files
- ******************************************************************************/
- #include "board_config.h"
- #include "sysapp_table.h"
- #include "main_app.h"
- #include "sysapp_if.h"
- #include "gobj_mgr.h"
- #include "app_guiobj_popmsg.h"
- #include "keypad_mapping_table.h"
- #include "app_menumgr.h"
- #include "app_guiobj_adjust.h"
- #ifdef CONFIG_ATV_SUPPORT
- #include "atv_guiobj_table.h"
- #endif
- #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
- #ifdef CONFIG_MEDIA_ENABLE
- #include "MM_browser_gui.h"
- #include "MM_EBook_gui.h"
- #include "MM_music_playback_gui.h"
- #endif
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- //#include "Debug_msg.h"
- #endif
- #include "app_data_setting.h"
- /*******************************************************************************
- * Global Variables
- ******************************************************************************/
- #define KEYPAD_SARADC_DEBAUCE_COUNT 1
- #define KEYPAD_SARADC_REPEAT_COUNT 5
- #define KEYPAD_GPIO_DEBAUCE_COUNT 3
- #define KEYPAD_GPIO_REPEAT_COUNT 3
- /*******************************************************************************
- * IC keypad Range setting rules
- * voltage range(keycode)
- * 0V ~ 0.33V 0x001
- * 0.33V ~ 0.66V 0x002
- * 0.66V ~ 0.99V 0x004
- * 0.99V ~ 1.32V 0x008
- * 1.32V ~ 1.65V 0x010
- * 1.65V ~ 1.98V 0x020
- * 1.98V ~ 2.31V 0x040
- * 2.31V ~ 2.64V 0x080
- * 2.64V ~ 2.97V 0x100
- * 2.97V ~ 3.3V none
- ******************************************************************************/
- KEYPAD_PARAM_t KeypadMap_final[keypadNum] = {{0},{0},{0},{0},{0},{0},{0},{0}};
- #ifdef SUPPORT_FACTORY_AUTO_TEST
- KEYPAD_PARAM_t KeypadMapFac_final[keypadNum] = {{0},{0},{0},{0},{0},{0},{0},{0}};
- #endif
- #ifdef CONFIG_ATV_SUPPORT
- static void _Keypad_ATV_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
- {
- INT32 dObjectID;
- sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
- PopmsgType_t eType;
- switch(*pbEvent)
- {
- case UI_EVENT_KEYPAD_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;
- }
- else
- {
- *pbEvent = UI_EVENT_MENU;
- }
- 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) ||
- #ifdef CONFIG_SUPPORT_TTX
- (dObjectID == ATV_GUIOBJ_TTX)||
- #endif
- (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) ||
- #ifdef CONFIG_SUPPORT_TTX
- (dObjectID == ATV_GUIOBJ_TTX)||
- #endif
- (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 if (dObjectID == APP_GUIOBJ_SOURCE)
- {
- *pbEvent = UI_EVENT_ENTER;
- }
- 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:
- *pbEvent = UI_EVENT_POWER;
- break;
- default:
- break;
- }
- }
- #else
- static void _Keypad_ATV_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
- {
- INT32 dObjectID;
- sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
- PopmsgType_t eType;
- switch(*pbEvent)
- {
- case UI_EVENT_KEYPAD_MENU:
- if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
- ((dObjectID == APP_GUIOBJ_MAINMENU) || (dObjectID == APP_GUIOBJ_ADJUST) || (dObjectID == APP_GUIOBJ_SOURCE) || (dObjectID == APP_GUIOBJ_FM_FACTORYSETTING)))
- {
- *pbEvent = UI_EVENT_ENTER;
- }
- else
- {
- *pbEvent = UI_EVENT_MENU;
- }
- break;
- case UI_EVENT_KEYPAD_LEFT:
- ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if (dObjectID == APP_GUIOBJ_FM_FACTORYSETTING)
- {
- *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 == APP_GUIOBJ_FM_FACTORYSETTING)
- {
- *pbEvent = UI_EVENT_RIGHT;
- }
- }
- else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
- {
- *pbEvent = UI_EVENT_OPEN_FACTORY;
- }
- break;
- case UI_EVENT_KEYPAD_UP:
- ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if (dObjectID == APP_GUIOBJ_MAINMENU || dObjectID == APP_GUIOBJ_SOURCE || dObjectID == APP_GUIOBJ_FM_FACTORYSETTING)
- {
- *pbEvent = UI_EVENT_UP;
- }
- else if(dObjectID == APP_GUIOBJ_BANNER || dObjectID == APP_GUIOBJ_ADJUST)
- {
- *pbEvent = UI_EVENT_RIGHT;
- }
- }
- else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
- {
- *pbEvent = UI_EVENT_PIC_MOD;
- }
- break;
- case UI_EVENT_KEYPAD_DOWN:
- ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if((dObjectID == APP_GUIOBJ_MAINMENU) || (dObjectID == APP_GUIOBJ_ADJUST) || (dObjectID == APP_GUIOBJ_SOURCE) || (dObjectID == APP_GUIOBJ_BANNER) || (dObjectID == APP_GUIOBJ_FM_FACTORYSETTING))
- {
- *pbEvent = UI_EVENT_RETURN;
- }
- }
- else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
- {
- *pbEvent = UI_EVENT_PCAUTOADJ;
- }
- break;
- case UI_EVENT_KEYPAD_SOURCE:
- ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if((dObjectID == APP_GUIOBJ_MAINMENU) || (dObjectID == APP_GUIOBJ_SOURCE) || (dObjectID == APP_GUIOBJ_FM_FACTORYSETTING))
- {
- *pbEvent = UI_EVENT_DOWN;
- }
- else if(dObjectID == APP_GUIOBJ_BANNER || dObjectID == APP_GUIOBJ_ADJUST)
- {
- *pbEvent = UI_EVENT_LEFT;
- }
- else
- {
- *pbEvent = UI_EVENT_SOURCE;
- }
- }
- else
- {
- *pbEvent = UI_EVENT_SOURCE;
- }
- break;
- case UI_EVENT_KEYPAD_POWER:
- *pbEvent = UI_EVENT_POWER;
- break;
- default:
- break;
- }
- }
- #endif
- #ifdef CONFIG_DTV_SUPPORT
- static void _Keypad_DVB_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
- {
- INT32 dObjectID;
- sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
- PopmsgType_t eType;
- switch(*pbEvent)
- {
- case UI_EVENT_KEYPAD_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;
- }
- else
- {
- *pbEvent = UI_EVENT_MENU;
- }
- 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) ||
- #ifdef CONFIG_SUPPORT_TTX
- (dObjectID == DVB_GUIOBJ_TTX)||
- #endif
- (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) ||
- #ifdef CONFIG_SUPPORT_TTX
- (dObjectID == DVB_GUIOBJ_TTX)||
- #endif
- (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 if (dObjectID == APP_GUIOBJ_SOURCE)
- {
- *pbEvent = UI_EVENT_ENTER;
- }
- 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:
- *pbEvent = UI_EVENT_POWER;
- break;
- default:
- break;
- }
- }
- #endif
- #ifdef CONFIG_MEDIA_ENABLE
- static void _Keypad_FILE_Player_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
- {
- INT32 dObjectID;
- sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
- PopmsgType_t eType;
-
- ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
- switch(*pbEvent)
- {
- case UI_EVENT_KEYPAD_MENU:
- if ((APP_MenuMgr_Exist_Main_Menu()) ||
- (APP_MenuMgr_Exist_Factory_Menu()) ||
- (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_INITINSTALL)) ||
- (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_AMPLIFIERVOLUME)) ||
- ((SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_ADJUST)) &&
- (APP_GUIOBJ_Adjust_GetType() != ADJUST_VOLUME))||
- ((SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_ADJUST)) &&
- (APP_GUIOBJ_Adjust_GetType() != ADJUST_HDMICEC_AMPVOLUME)))
- {
- *pbEvent = UI_EVENT_RETURN;
- }
- else
- {
- *pbEvent = UI_EVENT_MENU;
- }
- break;
- case UI_EVENT_KEYPAD_LEFT:
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_MUSIC_PLAYBACK && MM_Music_IsMusicPlayerOnFocus()) ||
- (dObjectID == MEDIA_GUIOBJ_EBOOK_PLAYBACK && MM_Music_IsEBookPlayerOnFocus()) ||
- (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_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:
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_MUSIC_PLAYBACK && MM_Music_IsMusicPlayerOnFocus()) ||
- (dObjectID == MEDIA_GUIOBJ_EBOOK_PLAYBACK && MM_Music_IsEBookPlayerOnFocus()) ||
- (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_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
- {
- *pbEvent = UI_EVENT_VOL_UP;
- }
- else if (dObjectID == APP_GUIOBJ_SOURCE)
- {
- *pbEvent = UI_EVENT_ENTER;
- }
- else
- {
- *pbEvent = UI_EVENT_RIGHT;
- }
- }
- break;
- case UI_EVENT_KEYPAD_UP:
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if ((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) ||
- (dObjectID == MEDIA_GUIOBJ_FILEBROWSER && (memcmp(CONFIG_APP_FOLDER_NAME,"rda_atv",strlen("rda_atv"))==0)) ||
- (dObjectID == MEDIA_GUIOBJ_POPMSG_MAINMENU) ||
- (dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_MUSIC_PLAYBACK && MM_Music_IsMusicPlayerOnFocus()) ||
- (dObjectID == MEDIA_GUIOBJ_EBOOK_PLAYBACK && MM_Music_IsEBookPlayerOnFocus()) )
- {
- *pbEvent = UI_EVENT_ENTER;
- }
- else
- {
- *pbEvent = UI_EVENT_UP;
- }
- }
- else
- {
- *pbEvent = UI_EVENT_UP;
- }
- break;
- case UI_EVENT_KEYPAD_DOWN:
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if ((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) ||
- (dObjectID == MEDIA_GUIOBJ_FILEBROWSER && (memcmp(CONFIG_APP_FOLDER_NAME,"rda_atv",strlen("rda_atv"))==0)) ||
- (dObjectID == MEDIA_GUIOBJ_POPMSG_MAINMENU) ||
- (dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
- (dObjectID == MEDIA_GUIOBJ_MUSIC_PLAYBACK && MM_Music_IsMusicPlayerOnFocus()) ||
- (dObjectID == MEDIA_GUIOBJ_EBOOK_PLAYBACK && MM_Music_IsEBookPlayerOnFocus()) )
- {
- *pbEvent = UI_EVENT_EXIT;
- }
- else
- {
- *pbEvent = UI_EVENT_DOWN;
- }
- }
- else
- {
- *pbEvent = UI_EVENT_DOWN;
- }
- break;
- case UI_EVENT_KEYPAD_SOURCE:
- APP_GUIOBJ_PopMsg_GetMsgType(&eType);
- if (ret == SYSTEM_APP_SUCCESS)
- {
- if ((dObjectID == MEDIA_GUIOBJ_THUMBNAIL ||
- dObjectID == MEDIA_GUIOBJ_MEIDA_PLAYLIST || dObjectID == MEDIA_GUIOBJ_MUSIC_BGSOURCE)
- ||(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;
- default:
- break;
- }
- }
- #endif
- #ifdef NET_SUPPORT
- static void _Keypad_Network_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
- {
- switch(*pbEvent)
- {
- case UI_EVENT_KEYPAD_MENU:
- *pbEvent = 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
- #if (defined(SUPPORT_FACTORY_AUTO_TEST) || defined(SUPPORT_FACTORY_AUTO_TEST_MODE2))
- static void _Factory_Auto_Test_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
- {
- //extern void Enable_Debug_Message(UINT32 DBGStatus);
- //Enable_Debug_Message(1<<MODULEID_UMF);
- switch(*pbEvent)
- {
- case UI_EVENT_KEYPAD_LEFT:
- printf("\n***LEFT***\n");
- break;
- case UI_EVENT_KEYPAD_RIGHT:
- printf("\n***RIGHT***\n");
- break;
- case UI_EVENT_KEYPAD_UP:
- printf("\n***UP***\n");
- break;
- case UI_EVENT_KEYPAD_DOWN:
- printf("\n***DOWN***\n");
- break;
- case UI_EVENT_KEYPAD_SOURCE:
- printf("\n***SOURCE***\n");
- break;
- case UI_EVENT_KEYPAD_MENU:
- printf("\n***MENU***\n");
- break;
- case UI_EVENT_KEYPAD_POWER:
- break;
- default:
- break;
- }
- //Enable_Debug_Message(0);
- }
- #endif
- int Keypad_EventConvert(UINT32 *pbEvent)
- {
- UINT32 dSystemAppIndex;
- UINT8 Keylock=0;
- if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS)
- {
- #if (defined(SUPPORT_FACTORY_AUTO_TEST) || defined(SUPPORT_FACTORY_AUTO_TEST_MODE2))
- extern int APP_Factory_GetAutoTestOnOff(void);
- if(APP_Factory_GetAutoTestOnOff() == TRUE)
- {
- _Factory_Auto_Test_Event_convert(dSystemAppIndex, pbEvent);
- return 0;
- }
- #endif
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FEATURE, 0,
- sizeof(APP_SETTING_Feature_t), &(g_stFeatureData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTHOTEL, 0,
- sizeof(APP_SETTING_FactoryHotel_t), &(g_stFactoryHotelData));
- AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER,0,
- sizeof(APP_SETTING_FactoryUser_t),&g_stFactoryUserData);
- if(memcmp(CONFIG_APP_FOLDER_NAME,"formal",strlen("formal"))==0)
- {
- if((*pbEvent != UI_EVENT_KEYPAD_POWER)
- #ifdef SUPPORT_SEG_KEYLOCK_IN_MAINMENU
- &&(g_stFeatureData.KeyLock == 1)
- #else
- &&(g_stFactoryUserData.Function.n_Funct_HotelMode == 1)
- &&(g_stFactoryHotelData.HotelModeOnOff == 1)
- &&(g_stFactoryHotelData.KeypadOperation == 1)
- #endif
- )
- Keylock = 1;
- }
- else
- {
- if((*pbEvent != UI_EVENT_KEYPAD_POWER)
- &&(g_stSetupData.KeyLock == 1))
- Keylock = 1;
- }
- if(Keylock == 1)
- {
- *pbEvent = UI_EVENT_NULL;
- #ifdef CONFIG_MEDIA_ENABLE
- if(dSystemAppIndex == SYS_APP_FILE_PLAYER)
- {
- SYSAPP_IF_SendGlobalEventWithIndex(dSystemAppIndex,
- (APP_GLOBAL_EVENT_KEYLOCK|PASS_TO_SYSAPP), 0);
- }
- else
- #endif
- {
- SYSAPP_IF_SendGlobalEventWithIndex(dSystemAppIndex,
- (APP_GLOBAL_EVENT_KEYLOCK), 0);
- }
- return 0;
- }
- switch(dSystemAppIndex)
- {
- case SYS_APP_ATV:
- _Keypad_ATV_Event_convert(dSystemAppIndex, pbEvent);
- break;
- #ifdef CONFIG_DTV_SUPPORT
- case SYS_APP_DVB:
- _Keypad_DVB_Event_convert(dSystemAppIndex, pbEvent);
- break;
- #endif
- #ifdef CONFIG_MEDIA_ENABLE
- case SYS_APP_FILE_PLAYER:
- _Keypad_FILE_Player_Event_convert(dSystemAppIndex, pbEvent);
- break;
- #endif
- #ifdef NET_SUPPORT
- case SYS_APP_NETWORK:
- _Keypad_Network_Event_convert(dSystemAppIndex, pbEvent);
- break;
- #endif
- default:
- break;
- }
- }
- return 0;
- }
|