ircn31661_map.c 23 KB

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