ircvt08f7_map.c 24 KB

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