irtsb1818_map.c 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775
  1. /********************************************************************
  2. ** File Name: IRtsb1818_map.c (IR501)
  3. **
  4. ** File Description: this file is ir tsb1818 mapping table
  5. **
  6. ** Copyright(c) 2016 RDA - All Rights Reserved
  7. **
  8. ** History Information Description
  9. ** Date Author Modification
  10. ********************************************************************/
  11. #include "irtsb1818_map.h"
  12. #include "app_event.h"
  13. #include "sysapp_table.h"
  14. #include "main_app.h"
  15. #include "gobj_mgr.h"
  16. #include "sysapp_if.h"
  17. #include "app_guiobj_popmsg.h"
  18. #include "app_menumgr.h"
  19. #include "app_guiobj_adjust.h"
  20. #ifdef CONFIG_ATV_SUPPORT
  21. #include "atv_guiobj_table.h"
  22. #ifdef CONFIG_SUPPORT_IR_TX
  23. #include "ir_tx_mapping_table.h"
  24. #include "board_config.h"
  25. #include "app_guiobj_source.h"
  26. #endif
  27. #endif
  28. #ifdef CONFIG_DTV_SUPPORT
  29. #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) || defined(CONFIG_DTMB_SYSTEM)
  30. #include "dvb_guiobj_table.h"
  31. #endif
  32. #ifdef CONFIG_ISDB_SYSTEM
  33. #include "app_guiobj_sbtvd_table.h"
  34. #endif
  35. #endif
  36. #ifdef CONFIG_MEDIA_ENABLE
  37. #include "MM_browser_gui.h"
  38. #endif
  39. #ifdef CONFIG_SUPPORT_PVR
  40. #include "mid_recorder.h"
  41. #endif
  42. #ifdef CONFIG_SUPPORT_ATV_SCAN_NTSCM_PALM_N
  43. #include "app_guiobj_source.h"
  44. #endif
  45. #include "ir_map.h"
  46. #ifdef CONFIG_SUPPORT_IR_TX
  47. typedef struct
  48. {
  49. AppGlobalEvent_t eRxEvent;
  50. IR_TX_EVENT eTxEvent;
  51. } IR_CONVERT_st, *pIR_CONVERT_st;
  52. IR_CONVERT_st stIRTSB1818TxConvertTable[] =
  53. {
  54. {UI_EVENT_0, IR_TX_NUM0},
  55. {UI_EVENT_1, IR_TX_NUM1},
  56. {UI_EVENT_2, IR_TX_NUM2},
  57. {UI_EVENT_3, IR_TX_NUM3},
  58. {UI_EVENT_4, IR_TX_NUM4},
  59. {UI_EVENT_5, IR_TX_NUM5},
  60. {UI_EVENT_6, IR_TX_NUM6},
  61. {UI_EVENT_7, IR_TX_NUM7},
  62. {UI_EVENT_8, IR_TX_NUM8},
  63. {UI_EVENT_9, IR_TX_NUM9},
  64. {UI_EVENT_10, IR_TX_ADD10},
  65. {UI_EVENT_AUDIO, IR_TX_AUDIO},
  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. {UI_EVENT_SRC_USB, IR_TX_USB_CARD},
  84. {UI_EVENT_CHLIST, IR_TX_SETUP},
  85. #ifdef CELLO_REMOTE_KEY
  86. {UI_EVENT_DVD, IR_TX_SETUP},
  87. #endif
  88. #if 0
  89. {UI_EVENT_NULL, IR_TX_TITLE_MENU},
  90. {UI_EVENT_NULL, IR_TX_PBC},
  91. {UI_EVENT_NULL, IR_TX_MENU_PBC},
  92. {UI_EVENT_NULL, IR_TX_PROGRAM},
  93. {UI_EVENT_NULL, IR_TX_CLEAR},
  94. {UI_EVENT_NULL, IR_TX_WIDE},
  95. {UI_EVENT_NULL, IR_TX_PAL_NTSC},
  96. {UI_EVENT_NULL, IR_TX_SET_A},
  97. {UI_EVENT_NULL, IR_TX_REPEAT},
  98. {UI_EVENT_NULL, IR_TX_FORMAT},
  99. {UI_EVENT_NULL, IR_TX_ANGLE},
  100. {UI_EVENT_NULL, IR_TX_DIGEST},
  101. {UI_EVENT_NULL, IR_TX_SF},
  102. {UI_EVENT_NULL, IR_TX_STEP},
  103. {UI_EVENT_NULL, IR_TX_ZOOM_IN},
  104. {UI_EVENT_NULL, IR_TX_RANDOM},
  105. {UI_EVENT_NULL, IR_TX_EJECT},
  106. #endif
  107. };
  108. UINT8 bIRTSB1818ConvertTableSize = sizeof(stIRTSB1818TxConvertTable)/sizeof(IR_CONVERT_st);
  109. static void _TX_IRTSB1818_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 = stIRTSB1818TxConvertTable;
  115. UINT8 bIndex = 0;
  116. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  117. if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  118. {
  119. while(bIndex < bIRTSB1818ConvertTableSize)
  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 IRTSB1818_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), "IRTSB1818", 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_IRTSB1818_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_IRTSB1818_Event_convert(dSystemAppIndex, pbEvent);
  172. }
  173. #endif
  174. switch(*pbEvent)
  175. {
  176. #ifdef CONFIG_SUPPORT_TTX
  177. case UI_EVENT_10:
  178. #ifdef CONFIG_DTV_SUPPORT
  179. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  180. (dObjectID == DVB_GUIOBJ_TTX)
  181. )
  182. {
  183. *pbEvent = UI_EVENT_TTX_CANCEL;
  184. }
  185. #endif
  186. break;
  187. case UI_EVENT_TVRADIO:
  188. #ifdef CONFIG_ATV_SUPPORT
  189. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == GUI_OBJMGR_SUCCESS) &&
  190. (dObjectID == ATV_GUIOBJ_TTX)
  191. )
  192. {
  193. *pbEvent = UI_EVENT_TTX_HOLD;
  194. }
  195. #endif
  196. break;
  197. #endif
  198. case UI_EVENT_KEYPAD_LEFT:
  199. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  200. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  201. if (ret == SYSTEM_APP_SUCCESS)
  202. {
  203. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  204. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  205. (dObjectID == APP_GUIOBJ_BANNER) ||
  206. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  207. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  208. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  209. {
  210. *pbEvent = UI_EVENT_VOL_DN;
  211. }
  212. else
  213. {
  214. *pbEvent = UI_EVENT_LEFT;
  215. }
  216. }
  217. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  218. {
  219. *pbEvent = UI_EVENT_VOL_DN;
  220. }
  221. break;
  222. case UI_EVENT_KEYPAD_RIGHT:
  223. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  224. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  225. if (ret == SYSTEM_APP_SUCCESS)
  226. {
  227. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  228. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  229. (dObjectID == APP_GUIOBJ_BANNER) ||
  230. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  231. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  232. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  233. {
  234. *pbEvent = UI_EVENT_VOL_UP;
  235. }
  236. else
  237. {
  238. *pbEvent = UI_EVENT_RIGHT;
  239. }
  240. }
  241. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  242. {
  243. *pbEvent = UI_EVENT_VOL_UP;
  244. }
  245. break;
  246. case UI_EVENT_KEYPAD_UP:
  247. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  248. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  249. if (ret == SYSTEM_APP_SUCCESS)
  250. {
  251. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  252. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  253. (dObjectID == APP_GUIOBJ_BANNER) ||
  254. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  255. {
  256. *pbEvent = UI_EVENT_CH_UP;
  257. }
  258. else
  259. {
  260. *pbEvent = UI_EVENT_UP;
  261. }
  262. }
  263. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  264. {
  265. *pbEvent = UI_EVENT_CH_UP;
  266. }
  267. break;
  268. case UI_EVENT_KEYPAD_DOWN:
  269. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  270. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  271. if (ret == SYSTEM_APP_SUCCESS)
  272. {
  273. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  274. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  275. (dObjectID == APP_GUIOBJ_BANNER) ||
  276. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  277. {
  278. *pbEvent = UI_EVENT_CH_DN;
  279. }
  280. else
  281. {
  282. *pbEvent = UI_EVENT_DOWN;
  283. }
  284. }
  285. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  286. {
  287. *pbEvent = UI_EVENT_CH_DN;
  288. }
  289. break;
  290. case UI_EVENT_KEYPAD_SOURCE:
  291. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  292. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  293. if (ret == SYSTEM_APP_SUCCESS)
  294. {
  295. if ((dObjectID == ATV_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  296. {
  297. *pbEvent = UI_EVENT_ENTER;
  298. }
  299. else
  300. {
  301. *pbEvent = UI_EVENT_SOURCE;
  302. }
  303. }
  304. else
  305. {
  306. *pbEvent = UI_EVENT_SOURCE;
  307. }
  308. break;
  309. case UI_EVENT_KEYPAD_POWER:
  310. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  311. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  312. if(g_stFactoryUserData.n_FactSet_BurningMode == 1)
  313. {
  314. break;
  315. }
  316. *pbEvent = UI_EVENT_POWER;*/
  317. break;
  318. #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
  319. #ifndef CONFIG_SUPPORT_ATV_SCAN_NTSCM_PALM_N
  320. case UI_EVENT_AD:
  321. *pbEvent = UI_EVENT_MultiPanelIndex;
  322. break;
  323. #else
  324. case UI_EVENT_AD:
  325. {
  326. APP_Source_Type_t SourceType = APP_SOURCE_MAX;
  327. APP_GUIOBJ_Source_GetCurrSource(&SourceType);
  328. if (APP_SOURCE_ATV != SourceType)
  329. {
  330. *pbEvent = UI_EVENT_MultiPanelIndex;
  331. }
  332. else
  333. {
  334. //switch atv type between air and catv
  335. }
  336. }
  337. break;
  338. #endif
  339. #endif
  340. default:
  341. break;
  342. }
  343. }
  344. #endif
  345. #ifdef CONFIG_DTV_SUPPORT
  346. static void _DVB_IRTSB1818_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  347. {
  348. INT32 dObjectID;
  349. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  350. PopmsgType_t eType;
  351. switch(*pbEvent)
  352. {
  353. #ifdef CONFIG_SUPPORT_MHEG5
  354. case UI_EVENT_EXIT:
  355. case UI_EVENT_UP:
  356. case UI_EVENT_DOWN:
  357. case UI_EVENT_LEFT:
  358. case UI_EVENT_RIGHT:
  359. case UI_EVENT_RED:
  360. case UI_EVENT_GREEN:
  361. case UI_EVENT_BLUE:
  362. case UI_EVENT_YELLOW:
  363. {
  364. int sdRet = 0;
  365. if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5))
  366. {
  367. if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS)
  368. {
  369. SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent, (UINT32)&sdRet);
  370. }
  371. }
  372. break;
  373. }
  374. #endif
  375. #ifdef CONFIG_SUPPORT_TTX
  376. case UI_EVENT_10:
  377. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  378. (dObjectID == DVB_GUIOBJ_TTX)
  379. )
  380. {
  381. *pbEvent = UI_EVENT_TTX_CANCEL;
  382. }
  383. break;
  384. case UI_EVENT_TVRADIO:
  385. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == GUI_OBJMGR_SUCCESS) &&
  386. (dObjectID == DVB_GUIOBJ_TTX)
  387. )
  388. {
  389. *pbEvent = UI_EVENT_TTX_HOLD;
  390. }
  391. break;
  392. #endif
  393. case UI_EVENT_MENU:
  394. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  395. (dObjectID != APP_GUIOBJ_BANNER) &&
  396. (dObjectID != DVB_GUIOBJ_PROGINFO) &&
  397. (dObjectID != DVB_GUIOBJ_PROGNUM) &&
  398. (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) &&
  399. #ifdef CONFIG_SUPPORT_TTX
  400. (dObjectID != DVB_GUIOBJ_TTX) &&
  401. #endif
  402. (!((dObjectID == DVB_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  403. (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)))
  404. #ifdef CONFIG_SUPPORT_PVR
  405. && (dObjectID != DVB_GUIOBJ_PVR_PLAYINFO)
  406. && (dObjectID != DVB_GUIOBJ_PVR_FILEPLAY)
  407. #endif
  408. )
  409. {
  410. *pbEvent = UI_EVENT_RETURN;
  411. }
  412. break;
  413. case UI_EVENT_PLAY_PAUSE:
  414. #ifdef CONFIG_SUPPORT_PVR
  415. if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_RECORDLIST)
  416. || SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_PVR_FILEPLAY)
  417. || (MID_RecorderState() != MID_REC_STATUS_STOP))
  418. {
  419. break;
  420. }
  421. else
  422. {
  423. *pbEvent = UI_EVENT_TIMESHIFT;
  424. }
  425. #endif
  426. break;
  427. case UI_EVENT_ASPECT:
  428. #ifdef CONFIG_SUPPORT_PVR
  429. /*if (MID_TSPLParser_GetThreadState() == TRUE)
  430. {
  431. UINT32 u32PEState = PE_STATE_IDLE;
  432. MID_TSPLParser_GetPlayState(&u32PEState, NULL);
  433. if (u32PEState == PE_STATE_PAUSE)
  434. {
  435. *pbEvent = UI_EVENT_NULL;
  436. }
  437. }*/
  438. #endif
  439. break;
  440. case UI_EVENT_KEYPAD_LEFT:
  441. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  442. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  443. if (ret == SYSTEM_APP_SUCCESS)
  444. {
  445. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  446. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  447. (dObjectID == APP_GUIOBJ_BANNER) ||
  448. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  449. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  450. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  451. {
  452. *pbEvent = UI_EVENT_VOL_DN;
  453. }
  454. else
  455. {
  456. *pbEvent = UI_EVENT_LEFT;
  457. }
  458. }
  459. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  460. {
  461. *pbEvent = UI_EVENT_VOL_DN;
  462. }
  463. break;
  464. case UI_EVENT_KEYPAD_RIGHT:
  465. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  466. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  467. if (ret == SYSTEM_APP_SUCCESS)
  468. {
  469. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  470. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  471. (dObjectID == APP_GUIOBJ_BANNER) ||
  472. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  473. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  474. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  475. {
  476. *pbEvent = UI_EVENT_VOL_UP;
  477. }
  478. else
  479. {
  480. *pbEvent = UI_EVENT_RIGHT;
  481. }
  482. }
  483. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  484. {
  485. *pbEvent = UI_EVENT_VOL_UP;
  486. }
  487. break;
  488. case UI_EVENT_KEYPAD_UP:
  489. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  490. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  491. if (ret == SYSTEM_APP_SUCCESS)
  492. {
  493. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  494. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  495. (dObjectID == APP_GUIOBJ_BANNER) ||
  496. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  497. {
  498. *pbEvent = UI_EVENT_CH_UP;
  499. }
  500. else
  501. {
  502. *pbEvent = UI_EVENT_UP;
  503. }
  504. }
  505. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  506. {
  507. *pbEvent = UI_EVENT_CH_UP;
  508. }
  509. break;
  510. case UI_EVENT_KEYPAD_DOWN:
  511. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  512. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  513. if (ret == SYSTEM_APP_SUCCESS)
  514. {
  515. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  516. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  517. (dObjectID == APP_GUIOBJ_BANNER) ||
  518. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  519. {
  520. *pbEvent = UI_EVENT_CH_DN;
  521. }
  522. else
  523. {
  524. *pbEvent = UI_EVENT_DOWN;
  525. }
  526. }
  527. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  528. {
  529. *pbEvent = UI_EVENT_CH_DN;
  530. }
  531. break;
  532. case UI_EVENT_KEYPAD_SOURCE:
  533. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  534. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  535. if (ret == SYSTEM_APP_SUCCESS)
  536. {
  537. if ((dObjectID == DVB_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  538. {
  539. *pbEvent = UI_EVENT_ENTER;
  540. }
  541. else
  542. {
  543. *pbEvent = UI_EVENT_SOURCE;
  544. }
  545. }
  546. else
  547. {
  548. *pbEvent = UI_EVENT_SOURCE;
  549. }
  550. break;
  551. case UI_EVENT_KEYPAD_POWER:
  552. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  553. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  554. if(g_stFactoryUserData.n_FactSet_BurningMode == 1)
  555. {
  556. break;
  557. }
  558. *pbEvent = UI_EVENT_POWER;*/
  559. break;
  560. #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
  561. case UI_EVENT_AD:
  562. *pbEvent = UI_EVENT_MultiPanelIndex;
  563. break;
  564. #endif
  565. default:
  566. break;
  567. }
  568. }
  569. #endif
  570. #ifdef CONFIG_MEDIA_ENABLE
  571. static void _FILE_Player_IRTSB1818_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  572. {
  573. INT32 dObjectID;
  574. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  575. PopmsgType_t eType;
  576. switch(*pbEvent)
  577. {
  578. case UI_EVENT_RED:
  579. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  580. (dObjectID != MEDIA_GUIOBJ_THUMBNAIL) &&
  581. (dObjectID != MEDIA_GUIOBJ_MEIDA_PLAYLIST)
  582. )
  583. {
  584. *pbEvent = UI_EVENT_PLAY_PAUSE;
  585. }
  586. break;
  587. case UI_EVENT_GREEN:
  588. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  589. (dObjectID != MEDIA_GUIOBJ_THUMBNAIL) &&
  590. (dObjectID != MEDIA_GUIOBJ_MEIDA_PLAYLIST) &&
  591. (dObjectID != MEDIA_GUIOBJ_MUSIC_BGSOURCE)
  592. )
  593. {
  594. *pbEvent = UI_EVENT_FR;
  595. }
  596. break;
  597. case UI_EVENT_YELLOW:
  598. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  599. (dObjectID != MEDIA_GUIOBJ_THUMBNAIL)
  600. )
  601. {
  602. *pbEvent = UI_EVENT_FF;
  603. }
  604. break;
  605. case UI_EVENT_BLUE:
  606. *pbEvent = UI_EVENT_STOP;
  607. break;
  608. case UI_EVENT_KEYPAD_LEFT:
  609. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  610. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  611. if (ret == SYSTEM_APP_SUCCESS)
  612. {
  613. if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
  614. (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
  615. (dObjectID == APP_GUIOBJ_BANNER) ||
  616. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  617. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  618. //((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) && (dvb_FileBrowser_GetAudioPlayState() != MEDIA_STATE_STOP)) ||
  619. ((dObjectID == MEDIA_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  620. {
  621. *pbEvent = UI_EVENT_VOL_DN;
  622. }
  623. else
  624. {
  625. *pbEvent = UI_EVENT_LEFT;
  626. }
  627. }
  628. break;
  629. case UI_EVENT_KEYPAD_RIGHT:
  630. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  631. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  632. if (ret == SYSTEM_APP_SUCCESS)
  633. {
  634. if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
  635. (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
  636. (dObjectID == APP_GUIOBJ_BANNER) ||
  637. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  638. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  639. //((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) && (dvb_FileBrowser_GetAudioPlayState() != MEDIA_STATE_STOP)) ||
  640. ((dObjectID == MEDIA_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  641. {
  642. *pbEvent = UI_EVENT_VOL_UP;
  643. }
  644. else
  645. {
  646. *pbEvent = UI_EVENT_RIGHT;
  647. }
  648. }
  649. break;
  650. case UI_EVENT_KEYPAD_UP:
  651. *pbEvent = UI_EVENT_UP;
  652. break;
  653. case UI_EVENT_KEYPAD_DOWN:
  654. *pbEvent = UI_EVENT_DOWN;
  655. break;
  656. case UI_EVENT_KEYPAD_SOURCE:
  657. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  658. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  659. if (ret == SYSTEM_APP_SUCCESS)
  660. {
  661. if ((dObjectID == MEDIA_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  662. {
  663. *pbEvent = UI_EVENT_ENTER;
  664. }
  665. else
  666. {
  667. *pbEvent = UI_EVENT_SOURCE;
  668. }
  669. }
  670. else
  671. {
  672. *pbEvent = UI_EVENT_SOURCE;
  673. }
  674. break;
  675. case UI_EVENT_KEYPAD_POWER:
  676. //*pbEvent = UI_EVENT_POWER;
  677. break;
  678. #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM)
  679. case UI_EVENT_AD:
  680. *pbEvent = UI_EVENT_MultiPanelIndex;
  681. break;
  682. #endif
  683. default:
  684. break;
  685. }
  686. }
  687. #endif
  688. #ifdef NET_SUPPORT
  689. static void _Network_IRTSB1818_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  690. {
  691. switch(*pbEvent)
  692. {
  693. case UI_EVENT_MENU:
  694. break;
  695. case UI_EVENT_KEYPAD_LEFT:
  696. *pbEvent = UI_EVENT_LEFT;
  697. break;
  698. case UI_EVENT_KEYPAD_RIGHT:
  699. *pbEvent = UI_EVENT_RIGHT;
  700. break;
  701. case UI_EVENT_KEYPAD_UP:
  702. *pbEvent = UI_EVENT_UP;
  703. break;
  704. case UI_EVENT_KEYPAD_DOWN:
  705. *pbEvent = UI_EVENT_DOWN;
  706. break;
  707. case UI_EVENT_KEYPAD_SOURCE:
  708. *pbEvent = UI_EVENT_SOURCE;
  709. break;
  710. case UI_EVENT_KEYPAD_POWER:
  711. *pbEvent = UI_EVENT_POWER;
  712. break;
  713. default:
  714. break;
  715. }
  716. }
  717. #endif
  718. void IRTSB1818_EventConvert(UINT32 *pbEvent)
  719. {
  720. UINT32 dSystemAppIndex;
  721. if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS)
  722. {
  723. switch(dSystemAppIndex)
  724. {
  725. #ifdef CONFIG_ATV_SUPPORT
  726. case SYS_APP_ATV:
  727. _ATV_IRTSB1818_Event_convert(dSystemAppIndex, pbEvent);
  728. break;
  729. #endif
  730. #ifdef CONFIG_DTV_SUPPORT
  731. case SYS_APP_DVB:
  732. _DVB_IRTSB1818_Event_convert(dSystemAppIndex, pbEvent);
  733. break;
  734. #endif
  735. #ifdef CONFIG_MEDIA_ENABLE
  736. case SYS_APP_FILE_PLAYER:
  737. _FILE_Player_IRTSB1818_Event_convert(dSystemAppIndex, pbEvent);
  738. break;
  739. #endif
  740. #ifdef CONFIG_SUPPORT_NETAPP
  741. case SYS_APP_NETWORK:
  742. _Network_IRTSB1818_Event_convert(dSystemAppIndex, pbEvent);
  743. break;
  744. #endif
  745. default:
  746. break;
  747. }
  748. }
  749. }