irnecfac8890_map.c 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732
  1. /********************************************************************
  2. ** File Name: IRNECFAC8890_map.c (IRNECFAC)
  3. **
  4. ** File Description: this file is IRNECFAC8890 mapping table
  5. **
  6. ** Copyright(c) 2010 Sunplus Technologies - All Rights Reserved
  7. **
  8. ** History Information Description
  9. ** Date Author Modification
  10. ** 2009/02/17 wangdanping create
  11. ********************************************************************/
  12. #include "irnecfac8890_map.h"
  13. #include "app_event.h"
  14. #include "sysapp_table.h"
  15. #include "main_app.h"
  16. #include "gobj_mgr.h"
  17. #include "sysapp_if.h"
  18. #include "app_guiobj_popmsg.h"
  19. #include "app_menumgr.h"
  20. #include "app_guiobj_adjust.h"
  21. #ifdef CONFIG_ATV_SUPPORT
  22. #include "atv_guiobj_table.h"
  23. #if defined(CONFIG_SUPPORT_IR_TX) || defined(CONFIG_SMART_MODULE_SUPPORT)
  24. #ifdef CONFIG_SUPPORT_IR_TX
  25. #include "ir_tx_mapping_table.h"
  26. #endif
  27. #ifdef CONFIG_SMART_MODULE_SUPPORT
  28. #include "app_smart.h"
  29. #endif
  30. #include "board_config.h"
  31. #include "app_guiobj_source.h"
  32. #endif
  33. #endif
  34. #ifdef CONFIG_DTV_SUPPORT
  35. #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) || defined(CONFIG_DTMB_SYSTEM)
  36. #include "dvb_guiobj_table.h"
  37. #endif
  38. #ifdef CONFIG_ISDB_SYSTEM
  39. #include "app_guiobj_sbtvd_table.h"
  40. #endif
  41. #endif
  42. #ifdef CONFIG_MEDIA_ENABLE
  43. #include "MM_browser_gui.h"
  44. #endif
  45. #ifdef CONFIG_SUPPORT_PVR
  46. #include "mid_recorder.h"
  47. #include "mid_tspl.h"
  48. #include "pvrparser.h"
  49. #include "mid_tspl_parser.h"
  50. #endif
  51. #ifdef CONFIG_SUPPORT_ATV_SCAN_NTSCM_PALM_N
  52. #include "app_guiobj_source.h"
  53. #endif
  54. #include "ir_map.h"
  55. #ifdef CONFIG_SUPPORT_IR_TX
  56. typedef struct
  57. {
  58. AppGlobalEvent_t eRxEvent;
  59. IR_TX_EVENT eTxEvent;
  60. } IR_CONVERT_st, *pIR_CONVERT_st;
  61. IR_CONVERT_st stIRNECFAC8890TxConvertTable[] =
  62. {
  63. {UI_EVENT_0, IR_TX_NUM0},
  64. {UI_EVENT_1, IR_TX_NUM1},
  65. {UI_EVENT_2, IR_TX_NUM2},
  66. {UI_EVENT_3, IR_TX_NUM3},
  67. {UI_EVENT_4, IR_TX_NUM4},
  68. {UI_EVENT_5, IR_TX_NUM5},
  69. {UI_EVENT_6, IR_TX_NUM6},
  70. {UI_EVENT_7, IR_TX_NUM7},
  71. {UI_EVENT_8, IR_TX_NUM8},
  72. {UI_EVENT_9, IR_TX_NUM9},
  73. {UI_EVENT_10, IR_TX_ADD10},
  74. {UI_EVENT_AUDIO, IR_TX_AUDIO},
  75. {UI_EVENT_SRC_USB, IR_TX_USB_CARD},
  76. {UI_EVENT_PLAY, IR_TX_PLAY},
  77. {UI_EVENT_PAUSE, IR_TX_PAUSE},
  78. {UI_EVENT_PLAY_PAUSE, IR_TX_PLAY_PAUSE},
  79. {UI_EVENT_STOP, IR_TX_STOP},
  80. {UI_EVENT_NEXT, IR_TX_NEXT},
  81. {UI_EVENT_PREV, IR_TX_PREV},
  82. {UI_EVENT_FF, IR_TX_FF},
  83. {UI_EVENT_FR, IR_TX_FR},
  84. {UI_EVENT_UP, IR_TX_UP},
  85. {UI_EVENT_DOWN, IR_TX_DOWN},
  86. {UI_EVENT_LEFT, IR_TX_LEFT},
  87. {UI_EVENT_RIGHT, IR_TX_RIGHT},
  88. {UI_EVENT_RETURN, IR_TX_RETURN},
  89. {UI_EVENT_ENTER, IR_TX_PLAY_ENTER},
  90. {UI_EVENT_EXIT, IR_TX_EXIT},
  91. {UI_EVENT_SUBTITLE, IR_TX_SUB_TITLE},
  92. {UI_EVENT_DISPLAY, IR_TX_DISPLAY},
  93. #if 0
  94. {UI_EVENT_NULL, IR_TX_PBC},
  95. {UI_EVENT_NULL, IR_TX_MENU_PBC},
  96. {UI_EVENT_NULL, IR_TX_PROGRAM},
  97. {UI_EVENT_NULL, IR_TX_CLEAR},
  98. {UI_EVENT_NULL, IR_TX_WIDE},
  99. {UI_EVENT_NULL, IR_TX_PAL_NTSC},
  100. {UI_EVENT_NULL, IR_TX_FORMAT},
  101. {UI_EVENT_NULL, IR_TX_DIGEST},
  102. {UI_EVENT_NULL, IR_TX_SF},
  103. {UI_EVENT_NULL, IR_TX_STEP},
  104. {UI_EVENT_NULL, IR_TX_ZOOM_IN},
  105. {UI_EVENT_NULL, IR_TX_RANDOM},
  106. #endif
  107. {UI_EVENT_EPG, IR_TX_SETUP},
  108. {UI_EVENT_RED, IR_TX_TITLE_MENU},
  109. {UI_EVENT_GREEN, IR_TX_GOTO},
  110. {UI_EVENT_YELLOW, IR_TX_REPEAT},
  111. {UI_EVENT_BLUE, IR_TX_SET_A},
  112. {UI_EVENT_TVRADIO, IR_TX_EJECT},
  113. {UI_EVENT_RECALL, IR_TX_ANGLE},
  114. #ifdef CELLO_REMOTE_KEY
  115. {UI_EVENT_DVD, IR_TX_SETUP},
  116. #endif
  117. };
  118. UINT8 bIRNECFAC8890ConvertTableSize = sizeof(stIRNECFAC8890TxConvertTable)/sizeof(IR_CONVERT_st);
  119. static void _TX_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  120. {
  121. INT32 dObjectID;
  122. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  123. IR_TX_EVENT eEvent = IR_TX_MAX;
  124. pIR_CONVERT_st pIRConvertTable = stIRNECFAC8890TxConvertTable;
  125. UINT8 bIndex = 0;
  126. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  127. if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  128. {
  129. while(bIndex < bIRNECFAC8890ConvertTableSize)
  130. {
  131. if (pIRConvertTable[bIndex].eRxEvent == *pbEvent)
  132. {
  133. eEvent = pIRConvertTable[bIndex].eTxEvent;
  134. if (TRUE == APP_Ir_Tx_SendEvent(eEvent))
  135. {
  136. *pbEvent = UI_EVENT_NULL;
  137. }
  138. break;
  139. }
  140. bIndex++;
  141. }
  142. }
  143. }
  144. #endif
  145. #ifdef CONFIG_SMART_MODULE_SUPPORT
  146. static void _SMART_IRNECFAC8890_EVENT(UINT32 *pbEvent)
  147. {
  148. if(SMART_SUCCESS == APP_Smart_Set_Smart_IRKey(*pbEvent))
  149. {
  150. *pbEvent = UI_EVENT_NULL;
  151. }
  152. }
  153. #endif
  154. UINT8 IRNECFAC8890_GetKeyCodeEvent(UINT32 cid, UINT8 u8Keycode, UINT32 * u32Event)
  155. {
  156. UINT8 i;
  157. UINT32 j = 0;
  158. if (u32Event == NULL)
  159. {
  160. return FALSE;
  161. }
  162. while (j < dIR_map_size)
  163. {
  164. if (strncmp((char *) (stIR_map[j].IRName), "IRNECFAC8890", strlen((char *) (stIR_map[j].IRName))) == 0)
  165. {
  166. for (i = 0; i < stIR_map[j].IR_Count; i++)
  167. {
  168. if (stIR_map[j].pdIR_Map[i].Keycode == u8Keycode && stIR_map[j].pdIR_Map[i].CusCode == cid)
  169. {
  170. *u32Event = stIR_map[j].pdIR_Map[i].Event;
  171. return TRUE;
  172. }
  173. }
  174. }
  175. j++;
  176. }
  177. return FALSE;
  178. }
  179. #ifdef CONFIG_ATV_SUPPORT
  180. static void _ATV_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  181. {
  182. INT32 dObjectID;
  183. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  184. PopmsgType_t eType;
  185. #if defined(CONFIG_SUPPORT_IR_TX) || defined(CONFIG_SMART_MODULE_SUPPORT)
  186. APP_Source_Type_t eSourceType = APP_SOURCE_MAX;
  187. APP_GUIOBJ_Source_GetCurrSource(&eSourceType);
  188. #ifdef CONFIG_SUPPORT_IR_TX
  189. if (APP_SOURCE_DVD == eSourceType)
  190. {
  191. _TX_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent);
  192. }
  193. #endif
  194. #ifdef CONFIG_SMART_MODULE_SUPPORT
  195. if((APP_SOURCE_HDMI + CONFIG_HDMI_SMART_PORT) == eSourceType)
  196. {
  197. _SMART_IRNECFAC8890_EVENT(pbEvent);
  198. }
  199. #endif
  200. #endif
  201. switch(*pbEvent)
  202. {
  203. #ifdef CONFIG_SUPPORT_3D_EN
  204. case UI_EVENT_PIP_MENU:
  205. *pbEvent = UI_EVENT_3D;
  206. break;
  207. #endif
  208. case UI_EVENT_MENU:
  209. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  210. (dObjectID != APP_GUIOBJ_BANNER) &&
  211. (dObjectID != ATV_GUIOBJ_INPUTINFO) &&
  212. (dObjectID != ATV_GUIOBJ_PROGNUM) &&
  213. #ifdef SUPPORT_CEC_TV
  214. (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) &&
  215. #endif
  216. #ifdef CONFIG_SUPPORT_TTX
  217. (dObjectID != ATV_GUIOBJ_TTX) &&
  218. #endif
  219. (!((dObjectID == ATV_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  220. (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)))
  221. && (dObjectID != APP_GUIOBJ_SOURCE)
  222. &&(dObjectID != ATV_GUIOBJ_FAVLIST)
  223. &&(dObjectID != ATV_GUIOBJ_CHNLIST)
  224. )
  225. {
  226. *pbEvent = UI_EVENT_RETURN;
  227. }
  228. break;
  229. case UI_EVENT_KEYPAD_LEFT:
  230. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  231. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  232. if (ret == SYSTEM_APP_SUCCESS)
  233. {
  234. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  235. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  236. (dObjectID == APP_GUIOBJ_BANNER) ||
  237. #ifdef SUPPORT_CEC_TV
  238. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  239. #endif
  240. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  241. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  242. {
  243. *pbEvent = UI_EVENT_VOL_DN;
  244. }
  245. else
  246. {
  247. *pbEvent = UI_EVENT_LEFT;
  248. }
  249. }
  250. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  251. {
  252. *pbEvent = UI_EVENT_VOL_DN;
  253. }
  254. break;
  255. case UI_EVENT_KEYPAD_RIGHT:
  256. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  257. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  258. if (ret == SYSTEM_APP_SUCCESS)
  259. {
  260. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  261. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  262. (dObjectID == APP_GUIOBJ_BANNER) ||
  263. #ifdef SUPPORT_CEC_TV
  264. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  265. #endif
  266. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  267. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  268. {
  269. *pbEvent = UI_EVENT_VOL_UP;
  270. }
  271. else
  272. {
  273. *pbEvent = UI_EVENT_RIGHT;
  274. }
  275. }
  276. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  277. {
  278. *pbEvent = UI_EVENT_VOL_UP;
  279. }
  280. break;
  281. case UI_EVENT_KEYPAD_UP:
  282. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  283. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  284. if (ret == SYSTEM_APP_SUCCESS)
  285. {
  286. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  287. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  288. (dObjectID == APP_GUIOBJ_BANNER) ||
  289. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  290. {
  291. *pbEvent = UI_EVENT_CH_UP;
  292. }
  293. else
  294. {
  295. *pbEvent = UI_EVENT_UP;
  296. }
  297. }
  298. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  299. {
  300. *pbEvent = UI_EVENT_CH_UP;
  301. }
  302. break;
  303. case UI_EVENT_KEYPAD_DOWN:
  304. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  305. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  306. if (ret == SYSTEM_APP_SUCCESS)
  307. {
  308. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  309. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  310. (dObjectID == APP_GUIOBJ_BANNER) ||
  311. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  312. {
  313. *pbEvent = UI_EVENT_CH_DN;
  314. }
  315. else
  316. {
  317. *pbEvent = UI_EVENT_DOWN;
  318. }
  319. }
  320. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  321. {
  322. *pbEvent = UI_EVENT_CH_DN;
  323. }
  324. break;
  325. case UI_EVENT_KEYPAD_SOURCE:
  326. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  327. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  328. if (ret == SYSTEM_APP_SUCCESS)
  329. {
  330. if ((dObjectID == ATV_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  331. {
  332. *pbEvent = UI_EVENT_ENTER;
  333. }
  334. else
  335. {
  336. *pbEvent = UI_EVENT_SOURCE;
  337. }
  338. }
  339. else
  340. {
  341. *pbEvent = UI_EVENT_SOURCE;
  342. }
  343. break;
  344. #ifdef SUPPORT_FACTORY_AUTO_TEST
  345. case UI_EVENT_AUTO_OUTPUTPCADJ:
  346. {
  347. extern int APP_Factory_GetAutoTestOnOff(void);
  348. if(APP_Factory_GetAutoTestOnOff() == TRUE)
  349. {
  350. *pbEvent = UI_EVENT_PCAUTOADJ;
  351. }
  352. break;
  353. }
  354. #endif
  355. case UI_EVENT_KEYPAD_POWER:
  356. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  357. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  358. if(g_stFactoryUserData.BurnInModeOnOff == 1)
  359. {
  360. break;
  361. }
  362. *pbEvent = UI_EVENT_POWER;*/
  363. break;
  364. default:
  365. break;
  366. }
  367. }
  368. #endif
  369. #ifdef CONFIG_DTV_SUPPORT
  370. static void _DVB_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  371. {
  372. INT32 dObjectID;
  373. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  374. PopmsgType_t eType;
  375. switch(*pbEvent)
  376. {
  377. #ifdef CONFIG_SUPPORT_MHEG5
  378. case UI_EVENT_EXIT:
  379. case UI_EVENT_UP:
  380. case UI_EVENT_DOWN:
  381. case UI_EVENT_LEFT:
  382. case UI_EVENT_RIGHT:
  383. case UI_EVENT_RED:
  384. case UI_EVENT_GREEN:
  385. case UI_EVENT_YELLOW:
  386. {
  387. int sdRet = 0;
  388. if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5))
  389. {
  390. if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS)
  391. {
  392. SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent, (UINT32)&sdRet);
  393. }
  394. }
  395. break;
  396. }
  397. #endif
  398. case UI_EVENT_BLUE:
  399. #ifdef CONFIG_SUPPORT_MHEG5
  400. {
  401. int sdRet = 0;
  402. if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5))
  403. {
  404. if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS)
  405. {
  406. SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent, (UINT32)&sdRet);
  407. }
  408. }
  409. }
  410. #endif
  411. break;
  412. #ifdef CONFIG_SUPPORT_3D_EN
  413. case UI_EVENT_PIP_MENU:
  414. *pbEvent = UI_EVENT_3D;
  415. break;
  416. #endif
  417. case UI_EVENT_MENU:
  418. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  419. (dObjectID != APP_GUIOBJ_BANNER) &&
  420. (dObjectID != DVB_GUIOBJ_PROGINFO) &&
  421. (dObjectID != DVB_GUIOBJ_PROGNUM) &&
  422. #ifdef SUPPORT_CEC_TV
  423. (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) &&
  424. #endif
  425. #ifdef CONFIG_SUPPORT_TTX
  426. (dObjectID != DVB_GUIOBJ_TTX) &&
  427. #endif
  428. (!((dObjectID == DVB_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  429. (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)))
  430. && (dObjectID != APP_GUIOBJ_SOURCE)
  431. &&(dObjectID != DVB_GUIOBJ_EPG)
  432. #ifdef CONFIG_SUPPORT_PVR
  433. && (dObjectID != DVB_GUIOBJ_PVR_REC)
  434. &&(dObjectID != DVB_GUIOBJ_SUBTITLEMENU)
  435. &&(dObjectID != DVB_GUIOBJ_MULTIAUD) //[shanchi]20140114
  436. #endif
  437. &&(dObjectID != DVB_GUIOBJ_FAVLIST)
  438. &&(dObjectID != DVB_GUIOBJ_CHNLIST)
  439. )
  440. {
  441. *pbEvent = UI_EVENT_RETURN;
  442. }
  443. break;
  444. case UI_EVENT_TTX_INDEX:
  445. #ifdef CONFIG_SUPPORT_TTX
  446. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  447. (dObjectID == DVB_GUIOBJ_TTX)
  448. )
  449. {
  450. break;
  451. }
  452. else
  453. #endif
  454. *pbEvent = UI_EVENT_PVR_SETTING;//UI_EVENT_REC_FILE;
  455. break;
  456. case UI_EVENT_ASPECT:
  457. #ifdef CONFIG_SUPPORT_PVR
  458. if (MID_TSPLParser_GetThreadState() == TRUE)
  459. {
  460. UINT32 u32PEState = MID_TSPL_MODE_PLAY;
  461. MID_TSPLParser_GetPlayState(&u32PEState, NULL);
  462. if (u32PEState == MID_TSPL_MODE_PAUSE)
  463. {
  464. *pbEvent = UI_EVENT_NULL;
  465. }
  466. }
  467. #endif
  468. break;
  469. case UI_EVENT_PLAY_PAUSE:
  470. #ifdef CONFIG_SUPPORT_PVR
  471. if (MID_RecorderState() != MID_REC_STATUS_STOP)
  472. {
  473. break;
  474. }
  475. else
  476. {
  477. *pbEvent = UI_EVENT_TIMESHIFT;
  478. }
  479. #endif
  480. break;
  481. case UI_EVENT_STOP:
  482. #ifdef CONFIG_SUPPORT_PVR
  483. if(APP_MenuMgr_Exist_Main_Menu() && (MID_RecorderState() != MID_REC_STATUS_STOP))
  484. {
  485. *pbEvent |= PASS_TO_SYSAPP;
  486. }
  487. #endif
  488. break;
  489. case UI_EVENT_KEYPAD_LEFT:
  490. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  491. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  492. if (ret == SYSTEM_APP_SUCCESS)
  493. {
  494. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  495. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  496. (dObjectID == APP_GUIOBJ_BANNER) ||
  497. #ifdef SUPPORT_CEC_TV
  498. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  499. #endif
  500. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  501. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  502. {
  503. *pbEvent = UI_EVENT_VOL_DN;
  504. }
  505. else
  506. {
  507. *pbEvent = UI_EVENT_LEFT;
  508. }
  509. }
  510. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  511. {
  512. *pbEvent = UI_EVENT_VOL_DN;
  513. }
  514. break;
  515. case UI_EVENT_KEYPAD_RIGHT:
  516. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  517. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  518. if (ret == SYSTEM_APP_SUCCESS)
  519. {
  520. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  521. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  522. (dObjectID == APP_GUIOBJ_BANNER) ||
  523. #ifdef SUPPORT_CEC_TV
  524. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  525. #endif
  526. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  527. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  528. {
  529. *pbEvent = UI_EVENT_VOL_UP;
  530. }
  531. else
  532. {
  533. *pbEvent = UI_EVENT_RIGHT;
  534. }
  535. }
  536. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  537. {
  538. *pbEvent = UI_EVENT_VOL_UP;
  539. }
  540. break;
  541. case UI_EVENT_KEYPAD_UP:
  542. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  543. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  544. if (ret == SYSTEM_APP_SUCCESS)
  545. {
  546. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  547. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  548. (dObjectID == APP_GUIOBJ_BANNER) ||
  549. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  550. {
  551. *pbEvent = UI_EVENT_CH_UP;
  552. }
  553. else
  554. {
  555. *pbEvent = UI_EVENT_UP;
  556. }
  557. }
  558. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  559. {
  560. *pbEvent = UI_EVENT_CH_UP;
  561. }
  562. break;
  563. case UI_EVENT_KEYPAD_DOWN:
  564. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  565. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  566. if (ret == SYSTEM_APP_SUCCESS)
  567. {
  568. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  569. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  570. (dObjectID == APP_GUIOBJ_BANNER) ||
  571. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  572. {
  573. *pbEvent = UI_EVENT_CH_DN;
  574. }
  575. else
  576. {
  577. *pbEvent = UI_EVENT_DOWN;
  578. }
  579. }
  580. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  581. {
  582. *pbEvent = UI_EVENT_CH_DN;
  583. }
  584. break;
  585. case UI_EVENT_KEYPAD_SOURCE:
  586. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  587. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  588. if (ret == SYSTEM_APP_SUCCESS)
  589. {
  590. if ((dObjectID == DVB_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  591. {
  592. *pbEvent = UI_EVENT_ENTER;
  593. }
  594. else
  595. {
  596. *pbEvent = UI_EVENT_SOURCE;
  597. }
  598. }
  599. else
  600. {
  601. *pbEvent = UI_EVENT_SOURCE;
  602. }
  603. break;
  604. case UI_EVENT_KEYPAD_POWER:
  605. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  606. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  607. if(g_stFactoryUserData.BurnInModeOnOff == 1)
  608. {
  609. break;
  610. }
  611. *pbEvent = UI_EVENT_POWER;*/
  612. break;
  613. default:
  614. break;
  615. }
  616. }
  617. #endif
  618. #ifdef CONFIG_MEDIA_ENABLE
  619. static void _FILE_Player_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  620. {
  621. switch(*pbEvent)
  622. {
  623. case UI_EVENT_MENU:
  624. if ((APP_MenuMgr_Need_Change_MenuKey()) ||
  625. (APP_MenuMgr_Exist_Factory_Menu()) ||
  626. //#ifndef CONFIG_ISDB_SYSTEM
  627. (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_INITINSTALL)) ||
  628. //#endif
  629. #ifdef SUPPORT_CEC_TV
  630. (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_AMPLIFIERVOLUME)) ||
  631. #endif
  632. ((SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_ADJUST)) &&
  633. (APP_GUIOBJ_Adjust_GetType() != ADJUST_VOLUME) &&
  634. (APP_GUIOBJ_Adjust_GetType() != ADJUST_HDMICEC_AMPVOLUME)))
  635. {
  636. *pbEvent = UI_EVENT_RETURN;
  637. }
  638. break;
  639. #ifdef CONFIG_SUPPORT_3D_EN
  640. case UI_EVENT_PIP_MENU:
  641. *pbEvent = UI_EVENT_3D;
  642. break;
  643. #endif
  644. default:
  645. break;
  646. }
  647. }
  648. #endif
  649. #ifdef NET_SUPPORT
  650. static void _Network_IRNECFAC8890_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  651. {
  652. switch(*pbEvent)
  653. {
  654. case UI_EVENT_MENU:
  655. break;
  656. case UI_EVENT_KEYPAD_LEFT:
  657. *pbEvent = UI_EVENT_LEFT;
  658. break;
  659. case UI_EVENT_KEYPAD_RIGHT:
  660. *pbEvent = UI_EVENT_RIGHT;
  661. break;
  662. case UI_EVENT_KEYPAD_UP:
  663. *pbEvent = UI_EVENT_UP;
  664. break;
  665. case UI_EVENT_KEYPAD_DOWN:
  666. *pbEvent = UI_EVENT_DOWN;
  667. break;
  668. case UI_EVENT_KEYPAD_SOURCE:
  669. *pbEvent = UI_EVENT_SOURCE;
  670. break;
  671. case UI_EVENT_KEYPAD_POWER:
  672. *pbEvent = UI_EVENT_POWER;
  673. break;
  674. default:
  675. break;
  676. }
  677. }
  678. #endif
  679. void IRNECFAC8890_EventConvert(UINT32 *pbEvent)
  680. {
  681. UINT32 dSystemAppIndex;
  682. if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS)
  683. {
  684. switch(dSystemAppIndex)
  685. {
  686. #ifdef CONFIG_ATV_SUPPORT
  687. case SYS_APP_ATV:
  688. _ATV_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent);
  689. break;
  690. #endif
  691. #ifdef CONFIG_DTV_SUPPORT
  692. case SYS_APP_DVB:
  693. _DVB_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent);
  694. break;
  695. #endif
  696. #ifdef CONFIG_MEDIA_ENABLE
  697. case SYS_APP_FILE_PLAYER:
  698. _FILE_Player_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent);
  699. break;
  700. #endif
  701. #ifdef CONFIG_SUPPORT_NETAPP
  702. case SYS_APP_NETWORK:
  703. _Network_IRNECFAC8890_Event_convert(dSystemAppIndex, pbEvent);
  704. break;
  705. #endif
  706. default:
  707. break;
  708. }
  709. }
  710. }