irsx0707_map.c 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725
  1. /********************************************************************
  2. ** File Name: IRSX0707_map.c (IRSX0707)
  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 "irsx0707_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)
  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_SUPPORT
  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 stIRSX0707TxConvertTable[] = {
  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 bIRSX0707ConvertTableSize = sizeof(stIRSX0707TxConvertTable) / sizeof(IR_CONVERT_st);
  109. static void _TX_IRSX0707_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 = stIRSX0707TxConvertTable;
  115. UINT8 bIndex = 0;
  116. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  117. if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  118. {
  119. while (bIndex < bIRSX0707ConvertTableSize)
  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 IRSX0707_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), "IRSX0707", 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_IRSX0707_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_IRSX0707_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. (!((dObjectID == ATV_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  195. (!((dObjectID == APP_GUIOBJ_ADJUST)
  196. && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME
  197. || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME))) && (dObjectID != APP_GUIOBJ_SOURCE))
  198. {
  199. *pbEvent = UI_EVENT_RETURN;
  200. }
  201. break;
  202. case UI_EVENT_KEYPAD_LEFT:
  203. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  204. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  205. if (ret == SYSTEM_APP_SUCCESS)
  206. {
  207. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  208. (dObjectID == ATV_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) ||
  209. #ifdef SUPPORT_CEC_TV
  210. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  211. #endif
  212. ((dObjectID == APP_GUIOBJ_ADJUST)
  213. && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME
  214. || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == ATV_GUIOBJ_POPMSG)
  215. &&
  216. ((eType == POPMSG_TYPE_PROMPT)
  217. || (eType ==
  218. POPMSG_TYPE_PWD))))
  219. {
  220. *pbEvent = UI_EVENT_VOL_DN;
  221. }
  222. else
  223. {
  224. *pbEvent = UI_EVENT_LEFT;
  225. }
  226. }
  227. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  228. {
  229. *pbEvent = UI_EVENT_VOL_DN;
  230. }
  231. break;
  232. case UI_EVENT_KEYPAD_RIGHT:
  233. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  234. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  235. if (ret == SYSTEM_APP_SUCCESS)
  236. {
  237. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  238. (dObjectID == ATV_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) ||
  239. #ifdef SUPPORT_CEC_TV
  240. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  241. #endif
  242. ((dObjectID == APP_GUIOBJ_ADJUST)
  243. && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME
  244. || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == ATV_GUIOBJ_POPMSG)
  245. &&
  246. ((eType == POPMSG_TYPE_PROMPT)
  247. || (eType ==
  248. POPMSG_TYPE_PWD))))
  249. {
  250. *pbEvent = UI_EVENT_VOL_UP;
  251. }
  252. else
  253. {
  254. *pbEvent = UI_EVENT_RIGHT;
  255. }
  256. }
  257. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  258. {
  259. *pbEvent = UI_EVENT_VOL_UP;
  260. }
  261. break;
  262. case UI_EVENT_KEYPAD_UP:
  263. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  264. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  265. if (ret == SYSTEM_APP_SUCCESS)
  266. {
  267. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  268. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  269. (dObjectID == APP_GUIOBJ_BANNER) ||
  270. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  271. {
  272. *pbEvent = UI_EVENT_CH_UP;
  273. }
  274. else
  275. {
  276. *pbEvent = UI_EVENT_UP;
  277. }
  278. }
  279. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  280. {
  281. *pbEvent = UI_EVENT_CH_UP;
  282. }
  283. break;
  284. case UI_EVENT_KEYPAD_DOWN:
  285. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  286. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  287. if (ret == SYSTEM_APP_SUCCESS)
  288. {
  289. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  290. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  291. (dObjectID == APP_GUIOBJ_BANNER) ||
  292. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  293. {
  294. *pbEvent = UI_EVENT_CH_DN;
  295. }
  296. else
  297. {
  298. *pbEvent = UI_EVENT_DOWN;
  299. }
  300. }
  301. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  302. {
  303. *pbEvent = UI_EVENT_CH_DN;
  304. }
  305. break;
  306. case UI_EVENT_KEYPAD_SOURCE:
  307. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  308. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  309. if (ret == SYSTEM_APP_SUCCESS)
  310. {
  311. if ((dObjectID == ATV_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  312. {
  313. *pbEvent = UI_EVENT_ENTER;
  314. }
  315. else
  316. {
  317. *pbEvent = UI_EVENT_SOURCE;
  318. }
  319. }
  320. else
  321. {
  322. *pbEvent = UI_EVENT_SOURCE;
  323. }
  324. break;
  325. #ifdef SUPPORT_FACTORY_AUTO_TEST
  326. case UI_EVENT_AUTO_OUTPUTPCADJ:
  327. {
  328. extern int APP_Factory_GetAutoTestOnOff(void);
  329. if (APP_Factory_GetAutoTestOnOff() == TRUE)
  330. {
  331. *pbEvent = UI_EVENT_PCAUTOADJ;
  332. }
  333. break;
  334. }
  335. #endif
  336. case UI_EVENT_KEYPAD_POWER:
  337. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  338. * sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  339. * if(g_stFactoryUserData.BurnInModeOnOff == 1)
  340. * {
  341. * break;
  342. * }
  343. * *pbEvent = UI_EVENT_POWER; */
  344. break;
  345. default:
  346. break;
  347. }
  348. }
  349. #endif
  350. #ifdef CONFIG_DTV_SUPPORT
  351. static void _DVB_IRSX0707_Event_convert(UINT32 dSystemAppIndex, UINT32 * pbEvent)
  352. {
  353. INT32 dObjectID;
  354. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  355. PopmsgType_t eType;
  356. switch (*pbEvent)
  357. {
  358. #ifdef CONFIG_SUPPORT_MHEG5
  359. case UI_EVENT_EXIT:
  360. case UI_EVENT_UP:
  361. case UI_EVENT_DOWN:
  362. case UI_EVENT_LEFT:
  363. case UI_EVENT_RIGHT:
  364. case UI_EVENT_RED:
  365. case UI_EVENT_GREEN:
  366. case UI_EVENT_YELLOW:
  367. {
  368. int sdRet = 0;
  369. if (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5))
  370. {
  371. if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS)
  372. {
  373. SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent,
  374. (UINT32) & sdRet);
  375. }
  376. }
  377. break;
  378. }
  379. #endif
  380. case UI_EVENT_BLUE:
  381. #ifdef CONFIG_SUPPORT_MHEG5
  382. {
  383. int sdRet = 0;
  384. if (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5))
  385. {
  386. if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS)
  387. {
  388. SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent,
  389. (UINT32) & sdRet);
  390. }
  391. }
  392. }
  393. #endif
  394. break;
  395. #ifdef CONFIG_SUPPORT_3D_EN
  396. case UI_EVENT_PIP_MENU:
  397. *pbEvent = UI_EVENT_3D;
  398. break;
  399. #endif
  400. case UI_EVENT_MENU:
  401. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  402. (dObjectID != APP_GUIOBJ_BANNER) &&
  403. (dObjectID != DVB_GUIOBJ_PROGINFO) && (dObjectID != DVB_GUIOBJ_PROGNUM) &&
  404. #ifdef SUPPORT_CEC_TV
  405. (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) &&
  406. #endif
  407. (!((dObjectID == DVB_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  408. (!((dObjectID == APP_GUIOBJ_ADJUST)
  409. && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME
  410. || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME))) && (dObjectID != APP_GUIOBJ_SOURCE)
  411. && (dObjectID != DVB_GUIOBJ_SUBTITLEMENU) && (dObjectID != DVB_GUIOBJ_MULTIAUD)
  412. && (dObjectID != DVB_GUIOBJ_EPG)
  413. #ifdef CONFIG_SUPPORT_PVR
  414. && (dObjectID != DVB_GUIOBJ_PVR_REC) && (dObjectID != DVB_GUIOBJ_PVR_TIMESHIFT_NEW)
  415. #endif
  416. && (dObjectID != DVB_GUIOBJ_FAVLIST) && (dObjectID != DVB_GUIOBJ_CHNLIST))
  417. {
  418. *pbEvent = UI_EVENT_RETURN;
  419. }
  420. break;
  421. case UI_EVENT_TTX_INDEX:
  422. #ifdef CONFIG_SUPPORT_TTX
  423. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  424. (dObjectID == DVB_GUIOBJ_TTX))
  425. {
  426. break;
  427. }
  428. else
  429. #endif
  430. *pbEvent = UI_EVENT_PVR_SETTING; //UI_EVENT_REC_FILE;
  431. break;
  432. case UI_EVENT_ASPECT:
  433. #ifdef CONFIG_SUPPORT_PVR
  434. if (MID_TSPLParser_GetThreadState() == TRUE)
  435. {
  436. UINT32 u32PEState = MID_TSPL_MODE_PLAY;
  437. MID_TSPLParser_GetPlayState(&u32PEState, NULL);
  438. if (u32PEState == MID_TSPL_MODE_PAUSE)
  439. {
  440. *pbEvent = UI_EVENT_NULL;
  441. }
  442. }
  443. #endif
  444. break;
  445. case UI_EVENT_PLAY_PAUSE:
  446. #ifdef CONFIG_SUPPORT_PVR
  447. if (MID_RecorderState() != MID_REC_STATUS_STOP)
  448. {
  449. break;
  450. }
  451. else
  452. {
  453. *pbEvent = UI_EVENT_TIMESHIFT;
  454. }
  455. #endif
  456. break;
  457. case UI_EVENT_STOP:
  458. #ifdef CONFIG_SUPPORT_PVR
  459. if (APP_MenuMgr_Exist_Main_Menu() && (MID_RecorderState() != MID_REC_STATUS_STOP))
  460. {
  461. *pbEvent |= PASS_TO_SYSAPP;
  462. }
  463. #endif
  464. break;
  465. case UI_EVENT_KEYPAD_LEFT:
  466. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  467. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  468. if (ret == SYSTEM_APP_SUCCESS)
  469. {
  470. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  471. (dObjectID == DVB_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) ||
  472. #ifdef SUPPORT_CEC_TV
  473. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  474. #endif
  475. ((dObjectID == APP_GUIOBJ_ADJUST)
  476. && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME
  477. || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == DVB_GUIOBJ_POPMSG)
  478. &&
  479. ((eType == POPMSG_TYPE_PROMPT)
  480. || (eType ==
  481. POPMSG_TYPE_PWD))))
  482. {
  483. *pbEvent = UI_EVENT_VOL_DN;
  484. }
  485. else
  486. {
  487. *pbEvent = UI_EVENT_LEFT;
  488. }
  489. }
  490. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  491. {
  492. *pbEvent = UI_EVENT_VOL_DN;
  493. }
  494. break;
  495. case UI_EVENT_KEYPAD_RIGHT:
  496. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  497. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  498. if (ret == SYSTEM_APP_SUCCESS)
  499. {
  500. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  501. (dObjectID == DVB_GUIOBJ_PROGNUM) || (dObjectID == APP_GUIOBJ_BANNER) ||
  502. #ifdef SUPPORT_CEC_TV
  503. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  504. #endif
  505. ((dObjectID == APP_GUIOBJ_ADJUST)
  506. && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME
  507. || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) || ((dObjectID == DVB_GUIOBJ_POPMSG)
  508. &&
  509. ((eType == POPMSG_TYPE_PROMPT)
  510. || (eType ==
  511. POPMSG_TYPE_PWD))))
  512. {
  513. *pbEvent = UI_EVENT_VOL_UP;
  514. }
  515. else
  516. {
  517. *pbEvent = UI_EVENT_RIGHT;
  518. }
  519. }
  520. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  521. {
  522. *pbEvent = UI_EVENT_VOL_UP;
  523. }
  524. break;
  525. case UI_EVENT_KEYPAD_UP:
  526. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  527. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  528. if (ret == SYSTEM_APP_SUCCESS)
  529. {
  530. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  531. (dObjectID == DVB_GUIOBJ_INFONUM) ||
  532. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  533. (dObjectID == APP_GUIOBJ_BANNER) ||
  534. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  535. {
  536. *pbEvent = UI_EVENT_CH_UP;
  537. }
  538. else
  539. {
  540. *pbEvent = UI_EVENT_UP;
  541. }
  542. }
  543. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  544. {
  545. *pbEvent = UI_EVENT_CH_UP;
  546. }
  547. break;
  548. case UI_EVENT_KEYPAD_DOWN:
  549. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  550. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  551. if (ret == SYSTEM_APP_SUCCESS)
  552. {
  553. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  554. (dObjectID == DVB_GUIOBJ_INFONUM) ||
  555. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  556. (dObjectID == APP_GUIOBJ_BANNER) ||
  557. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  558. {
  559. *pbEvent = UI_EVENT_CH_DN;
  560. }
  561. else
  562. {
  563. *pbEvent = UI_EVENT_DOWN;
  564. }
  565. }
  566. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  567. {
  568. *pbEvent = UI_EVENT_CH_DN;
  569. }
  570. break;
  571. case UI_EVENT_KEYPAD_SOURCE:
  572. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  573. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  574. if (ret == SYSTEM_APP_SUCCESS)
  575. {
  576. if ((dObjectID == DVB_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  577. {
  578. *pbEvent = UI_EVENT_ENTER;
  579. }
  580. else
  581. {
  582. *pbEvent = UI_EVENT_SOURCE;
  583. }
  584. }
  585. else
  586. {
  587. *pbEvent = UI_EVENT_SOURCE;
  588. }
  589. break;
  590. case UI_EVENT_KEYPAD_POWER:
  591. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  592. * sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  593. * if(g_stFactoryUserData.BurnInModeOnOff == 1)
  594. * {
  595. * break;
  596. * }
  597. * *pbEvent = UI_EVENT_POWER; */
  598. break;
  599. default:
  600. break;
  601. }
  602. }
  603. #endif
  604. #ifdef CONFIG_MEDIA_SUPPORT
  605. static void _FILE_Player_IRSX0707_Event_convert(UINT32 dSystemAppIndex, UINT32 * pbEvent)
  606. {
  607. switch (*pbEvent)
  608. {
  609. case UI_EVENT_MENU:
  610. if ((APP_MenuMgr_Need_Change_MenuKey()) || (APP_MenuMgr_Exist_Factory_Menu()) ||
  611. //#ifndef CONFIG_ISDB_SYSTEM
  612. #ifdef CONFIG_SUPPORT_FIRST_TIME_SETUP
  613. (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_INITINSTALL)) ||
  614. #endif
  615. //#endif
  616. #ifdef SUPPORT_CEC_TV
  617. (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_AMPLIFIERVOLUME)) ||
  618. #endif
  619. ((SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_ADJUST)) &&
  620. (APP_GUIOBJ_Adjust_GetType() != ADJUST_VOLUME) &&
  621. (APP_GUIOBJ_Adjust_GetType() != ADJUST_HDMICEC_AMPVOLUME)))
  622. {
  623. *pbEvent = UI_EVENT_RETURN;
  624. }
  625. break;
  626. #ifdef CONFIG_SUPPORT_3D_EN
  627. case UI_EVENT_PIP_MENU:
  628. *pbEvent = UI_EVENT_3D;
  629. break;
  630. #endif
  631. default:
  632. break;
  633. }
  634. }
  635. #endif
  636. #ifdef NET_SUPPORT
  637. static void _Network_IRSX0707_Event_convert(UINT32 dSystemAppIndex, UINT32 * pbEvent)
  638. {
  639. switch (*pbEvent)
  640. {
  641. case UI_EVENT_MENU:
  642. break;
  643. case UI_EVENT_KEYPAD_LEFT:
  644. *pbEvent = UI_EVENT_LEFT;
  645. break;
  646. case UI_EVENT_KEYPAD_RIGHT:
  647. *pbEvent = UI_EVENT_RIGHT;
  648. break;
  649. case UI_EVENT_KEYPAD_UP:
  650. *pbEvent = UI_EVENT_UP;
  651. break;
  652. case UI_EVENT_KEYPAD_DOWN:
  653. *pbEvent = UI_EVENT_DOWN;
  654. break;
  655. case UI_EVENT_KEYPAD_SOURCE:
  656. *pbEvent = UI_EVENT_SOURCE;
  657. break;
  658. case UI_EVENT_KEYPAD_POWER:
  659. *pbEvent = UI_EVENT_POWER;
  660. break;
  661. default:
  662. break;
  663. }
  664. }
  665. #endif
  666. void IRSX0707_EventConvert(UINT32 * pbEvent)
  667. {
  668. UINT32 dSystemAppIndex;
  669. if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS)
  670. {
  671. switch (dSystemAppIndex)
  672. {
  673. #ifdef CONFIG_ATV_SUPPORT
  674. case SYS_APP_ATV:
  675. _ATV_IRSX0707_Event_convert(dSystemAppIndex, pbEvent);
  676. break;
  677. #endif
  678. #ifdef CONFIG_DTV_SUPPORT
  679. case SYS_APP_DVB:
  680. _DVB_IRSX0707_Event_convert(dSystemAppIndex, pbEvent);
  681. break;
  682. #endif
  683. #ifdef CONFIG_MEDIA_SUPPORT
  684. case SYS_APP_FILE_PLAYER:
  685. _FILE_Player_IRSX0707_Event_convert(dSystemAppIndex, pbEvent);
  686. break;
  687. #endif
  688. #ifdef CONFIG_SUPPORT_NETAPP
  689. case SYS_APP_NETWORK:
  690. _Network_IRSX0707_Event_convert(dSystemAppIndex, pbEvent);
  691. break;
  692. #endif
  693. default:
  694. break;
  695. }
  696. }
  697. }