ir10d_map.c 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  1. /********************************************************************
  2. ** File Name: IR10D_map.c (IR10D)
  3. **
  4. ** File Description: this file is sunplus ir hk10n mapping table
  5. **
  6. ** Copyright(c) 2010 Sunplus Technologies - All Rights Reserved
  7. **
  8. ** History Information Description
  9. ** Date Author Modification
  10. ** 2009/02/17 wangdanping create
  11. ********************************************************************/
  12. #include "ir10d_map.h"
  13. #include "app_event.h"
  14. #include "sysapp_table.h"
  15. #include "main_app.h"
  16. #include "sysapp_if.h"
  17. #include "gobj_mgr.h"
  18. #include "app_guiobj_popmsg.h"
  19. #include "app_guiobj_source.h"
  20. #include "app_menumgr.h"
  21. #include "app_data_setting.h"
  22. #include "app_guiobj_adjust.h"
  23. #ifdef CONFIG_ATV_SUPPORT
  24. #include "atv_guiobj_table.h"
  25. #ifdef CONFIG_SUPPORT_IR_TX
  26. #include "ir_tx_mapping_table.h"
  27. #include "board_config.h"
  28. #endif
  29. #endif
  30. #ifdef CONFIG_DTV_SUPPORT
  31. #if defined(CONFIG_DVB_SYSTEM) || defined(CONFIG_AUS_DVB_SYSTEM) || defined(CONFIG_DTMB_SYSTEM)
  32. #include "dvb_guiobj_table.h"
  33. #endif
  34. #ifdef CONFIG_ISDB_SYSTEM
  35. #include "app_guiobj_sbtvd_table.h"
  36. #endif
  37. #endif
  38. #ifdef CONFIG_MEDIA_ENABLE
  39. #include "MM_browser_gui.h"
  40. #include "MM_pvr_playback.h" //gadneia
  41. #include "MM_movie_playback_gui.h" //gadneia
  42. #include "MM_music_playback_gui.h" //gadneia
  43. #include "MM_photo_playback_gui.h" //gadneia
  44. #endif
  45. #ifdef CONFIG_SUPPORT_PVR
  46. #include "mid_recorder.h"
  47. #endif
  48. #include "ir_map.h"
  49. #ifdef CONFIG_SUPPORT_IR_TX
  50. typedef struct
  51. {
  52. AppGlobalEvent_t eRxEvent;
  53. IR_TX_EVENT eTxEvent;
  54. } IR_CONVERT_st, *pIR_CONVERT_st;
  55. IR_CONVERT_st stIR10DIRTxConvertTable[] =
  56. {
  57. {UI_EVENT_0, IR_TX_NUM0},
  58. {UI_EVENT_1, IR_TX_NUM1},
  59. {UI_EVENT_2, IR_TX_NUM2},
  60. {UI_EVENT_3, IR_TX_NUM3},
  61. {UI_EVENT_4, IR_TX_NUM4},
  62. {UI_EVENT_5, IR_TX_NUM5},
  63. {UI_EVENT_6, IR_TX_NUM6},
  64. {UI_EVENT_7, IR_TX_NUM7},
  65. {UI_EVENT_8, IR_TX_NUM8},
  66. {UI_EVENT_9, IR_TX_NUM9},
  67. {UI_EVENT_10, IR_TX_ADD10},
  68. {UI_EVENT_AUDIO, IR_TX_AUDIO},
  69. {UI_EVENT_PLAY, IR_TX_PLAY},
  70. {UI_EVENT_PAUSE, IR_TX_PAUSE},
  71. {UI_EVENT_PLAY_PAUSE, IR_TX_PLAY_PAUSE},
  72. {UI_EVENT_STOP, IR_TX_STOP},
  73. {UI_EVENT_NEXT, IR_TX_NEXT},
  74. {UI_EVENT_PREV, IR_TX_PREV},
  75. {UI_EVENT_FF, IR_TX_FF},
  76. {UI_EVENT_FR, IR_TX_FR},
  77. {UI_EVENT_UP, IR_TX_UP},
  78. {UI_EVENT_DOWN, IR_TX_DOWN},
  79. {UI_EVENT_LEFT, IR_TX_LEFT},
  80. {UI_EVENT_RIGHT, IR_TX_RIGHT},
  81. {UI_EVENT_RETURN, IR_TX_RETURN},
  82. {UI_EVENT_ENTER, IR_TX_PLAY_ENTER},
  83. {UI_EVENT_EXIT, IR_TX_EXIT},
  84. {UI_EVENT_SUBTITLE, IR_TX_SUB_TITLE},
  85. {UI_EVENT_DISPLAY, IR_TX_DISPLAY},
  86. {UI_EVENT_SRC_USB, IR_TX_USB_CARD},
  87. {UI_EVENT_CHLIST, IR_TX_SETUP},
  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 bIR10DIRConvertTableSize = sizeof(stIR10DIRTxConvertTable)/sizeof(IR_CONVERT_st);
  109. static void _TX_IR10D_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 = stIR10DIRTxConvertTable;
  115. UINT8 bIndex = 0;
  116. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  117. if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  118. {
  119. while(bIndex < bIR10DIRConvertTableSize)
  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 IR10D_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), "IR10D", 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_IR10D_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_IR10D_Event_convert(dSystemAppIndex, pbEvent);
  172. }
  173. #endif
  174. switch(*pbEvent)
  175. {
  176. case UI_EVENT_MENU:
  177. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  178. (dObjectID != APP_GUIOBJ_BANNER) &&
  179. (dObjectID != ATV_GUIOBJ_INPUTINFO) &&
  180. (dObjectID != ATV_GUIOBJ_PROGNUM) &&
  181. (dObjectID != ATV_GUIOBJ_SIF) &&
  182. (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) &&
  183. #ifdef CONFIG_SUPPORT_TTX
  184. (dObjectID != ATV_GUIOBJ_TTX) &&
  185. #endif
  186. (!((dObjectID == ATV_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  187. (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)))
  188. )
  189. {
  190. *pbEvent = UI_EVENT_RETURN;
  191. }
  192. break;
  193. #ifdef CONFIG_SUPPORT_TTX
  194. /* hk10n, 'fav' and 'mix' is the same key */
  195. case UI_EVENT_FAV:
  196. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  197. (dObjectID == ATV_GUIOBJ_TTX)
  198. )
  199. {
  200. *pbEvent = UI_EVENT_TTX_MIX;
  201. }
  202. break;
  203. /* hk10n, 'fav' and 'language' is the same key */
  204. case UI_EVENT_AUDIO:
  205. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  206. (dObjectID == ATV_GUIOBJ_TTX)
  207. )
  208. {
  209. *pbEvent = UI_EVENT_TTX_LANGUAGE;
  210. }
  211. break;
  212. /* hk10n, 'aspect' and 'size' is the same key */
  213. case UI_EVENT_ASPECT:
  214. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  215. (dObjectID == ATV_GUIOBJ_TTX)
  216. )
  217. {
  218. *pbEvent = UI_EVENT_TTX_SIZE;
  219. }
  220. break;
  221. case UI_EVENT_CHLIST:
  222. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  223. (dObjectID == ATV_GUIOBJ_TTX)
  224. )
  225. {
  226. *pbEvent = UI_EVENT_TTX_INDEX;
  227. }
  228. break;
  229. #endif
  230. /* hk10n, 'fav+' and 'hold' is the same key */
  231. case UI_EVENT_TTX_HOLD:
  232. #ifdef CONFIG_SUPPORT_TTX
  233. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  234. (dObjectID == ATV_GUIOBJ_TTX)
  235. )
  236. {
  237. *pbEvent = UI_EVENT_TTX_HOLD;
  238. }
  239. else
  240. #endif
  241. {
  242. *pbEvent = UI_EVENT_FAV_UP;
  243. }
  244. break;
  245. /* hk10n, 'fav-' and 'reveal' is the same key */
  246. case UI_EVENT_TTX_REVEAL:
  247. #ifdef CONFIG_SUPPORT_TTX
  248. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  249. (dObjectID == ATV_GUIOBJ_TTX)
  250. )
  251. {
  252. *pbEvent = UI_EVENT_TTX_REVEAL;
  253. }
  254. else
  255. #endif
  256. {
  257. *pbEvent = UI_EVENT_FAV_DN;
  258. }
  259. break;
  260. case UI_EVENT_KEYPAD_LEFT:
  261. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  262. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  263. if (ret == SYSTEM_APP_SUCCESS)
  264. {
  265. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  266. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  267. (dObjectID == APP_GUIOBJ_BANNER) ||
  268. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  269. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  270. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  271. {
  272. *pbEvent = UI_EVENT_VOL_DN;
  273. }
  274. else
  275. {
  276. *pbEvent = UI_EVENT_LEFT;
  277. }
  278. }
  279. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  280. {
  281. *pbEvent = UI_EVENT_VOL_DN;
  282. }
  283. break;
  284. case UI_EVENT_KEYPAD_RIGHT:
  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 == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  293. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  294. {
  295. *pbEvent = UI_EVENT_VOL_UP;
  296. }
  297. else
  298. {
  299. *pbEvent = UI_EVENT_RIGHT;
  300. }
  301. }
  302. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  303. {
  304. *pbEvent = UI_EVENT_VOL_UP;
  305. }
  306. break;
  307. case UI_EVENT_KEYPAD_UP:
  308. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  309. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  310. if (ret == SYSTEM_APP_SUCCESS)
  311. {
  312. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  313. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  314. (dObjectID == APP_GUIOBJ_BANNER) ||
  315. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  316. {
  317. *pbEvent = UI_EVENT_CH_UP;
  318. }
  319. else
  320. {
  321. *pbEvent = UI_EVENT_UP;
  322. }
  323. }
  324. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  325. {
  326. *pbEvent = UI_EVENT_CH_UP;
  327. }
  328. break;
  329. case UI_EVENT_KEYPAD_DOWN:
  330. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  331. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  332. if (ret == SYSTEM_APP_SUCCESS)
  333. {
  334. if ((dObjectID == ATV_GUIOBJ_INPUTINFO) ||
  335. (dObjectID == ATV_GUIOBJ_PROGNUM) ||
  336. (dObjectID == APP_GUIOBJ_BANNER) ||
  337. ((dObjectID == ATV_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  338. {
  339. *pbEvent = UI_EVENT_CH_DN;
  340. }
  341. else
  342. {
  343. *pbEvent = UI_EVENT_DOWN;
  344. }
  345. }
  346. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  347. {
  348. *pbEvent = UI_EVENT_CH_DN;
  349. }
  350. break;
  351. case UI_EVENT_KEYPAD_SOURCE:
  352. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  353. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  354. if (ret == SYSTEM_APP_SUCCESS)
  355. {
  356. if ((dObjectID == ATV_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  357. {
  358. *pbEvent = UI_EVENT_ENTER;
  359. }
  360. else
  361. {
  362. *pbEvent = UI_EVENT_SOURCE;
  363. }
  364. }
  365. else
  366. {
  367. *pbEvent = UI_EVENT_SOURCE;
  368. }
  369. break;
  370. case UI_EVENT_KEYPAD_POWER:
  371. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  372. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  373. if(g_stFactoryUserData.n_FactSet_BurningMode == 1)
  374. {
  375. break;
  376. }
  377. *pbEvent = UI_EVENT_POWER;*/
  378. break;
  379. default:
  380. break;
  381. }
  382. }
  383. #endif
  384. #ifdef CONFIG_DTV_SUPPORT
  385. static void _DVB_IR10D_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  386. {
  387. INT32 dObjectID;
  388. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  389. PopmsgType_t eType;
  390. switch(*pbEvent)
  391. {
  392. #ifdef CONFIG_SUPPORT_MHEG5
  393. case UI_EVENT_EXIT:
  394. case UI_EVENT_UP:
  395. case UI_EVENT_DOWN:
  396. case UI_EVENT_LEFT:
  397. case UI_EVENT_RIGHT:
  398. case UI_EVENT_RED:
  399. case UI_EVENT_GREEN:
  400. case UI_EVENT_BLUE:
  401. case UI_EVENT_YELLOW:
  402. {
  403. int sdRet = 0;
  404. if (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_MHEG5))
  405. {
  406. if (SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) != SYSTEM_APP_SUCCESS)
  407. {
  408. SYSAPP_GOBJ_SendMsgToSingleGUIObject(dSystemAppIndex, DVB_GUIOBJ_MHEG5, *pbEvent, (UINT32)&sdRet);
  409. }
  410. }
  411. break;
  412. }
  413. #endif
  414. case UI_EVENT_MENU:
  415. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  416. (dObjectID != APP_GUIOBJ_BANNER) &&
  417. (dObjectID != DVB_GUIOBJ_PROGINFO) &&
  418. (dObjectID != DVB_GUIOBJ_PROGNUM) &&
  419. (dObjectID != APP_GUIOBJ_AMPLIFIERVOLUME) &&
  420. #ifdef CONFIG_SUPPORT_TTX
  421. (dObjectID != DVB_GUIOBJ_TTX) &&
  422. #endif
  423. (!((dObjectID == DVB_GUIOBJ_POPMSG) && (!APP_MenuMgr_Exist_Main_Menu()))) &&
  424. (!((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)))
  425. #ifdef CONFIG_SUPPORT_PVR
  426. && (dObjectID != DVB_GUIOBJ_PVR_PLAYINFO)
  427. #endif
  428. )
  429. {
  430. *pbEvent = UI_EVENT_RETURN;
  431. }
  432. break;
  433. #ifdef CONFIG_SUPPORT_TTX
  434. /* hk10n, 'fav' and 'mix' is the same key */
  435. case UI_EVENT_FAV:
  436. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  437. (dObjectID == DVB_GUIOBJ_TTX)
  438. )
  439. {
  440. *pbEvent = UI_EVENT_TTX_MIX;
  441. }
  442. break;
  443. /* hk10n, 'aspect' and 'size' is the same key */
  444. case UI_EVENT_ASPECT:
  445. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  446. (dObjectID == DVB_GUIOBJ_TTX)
  447. )
  448. {
  449. *pbEvent = UI_EVENT_TTX_SIZE;
  450. }
  451. break;
  452. case UI_EVENT_CHLIST:
  453. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  454. (dObjectID == DVB_GUIOBJ_TTX)
  455. )
  456. {
  457. *pbEvent = UI_EVENT_TTX_INDEX;
  458. }
  459. break;
  460. #endif
  461. /* hk10n, 'fav+' and 'hold' is the same key */
  462. case UI_EVENT_TTX_HOLD:
  463. #ifdef CONFIG_SUPPORT_TTX
  464. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  465. (dObjectID == DVB_GUIOBJ_TTX)
  466. )
  467. {
  468. *pbEvent = UI_EVENT_TTX_HOLD;
  469. }
  470. else
  471. #endif
  472. {
  473. *pbEvent = UI_EVENT_FAV_UP;
  474. }
  475. break;
  476. /* hk10n, 'fav-' and 'reveal' is the same key */
  477. case UI_EVENT_TTX_REVEAL:
  478. #ifdef CONFIG_SUPPORT_TTX
  479. if ((SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID) == SYSTEM_APP_SUCCESS) &&
  480. (dObjectID == DVB_GUIOBJ_TTX)
  481. )
  482. {
  483. *pbEvent = UI_EVENT_TTX_REVEAL;
  484. }
  485. else
  486. #endif
  487. {
  488. *pbEvent = UI_EVENT_FAV_DN;
  489. }
  490. break;
  491. case UI_EVENT_PLAY_PAUSE:
  492. #ifdef CONFIG_SUPPORT_PVR
  493. if(SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_RECORDLIST)
  494. || SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, DVB_GUIOBJ_PVR_FILEPLAY)
  495. || (MID_RecorderState() != MID_REC_STATUS_STOP))
  496. {
  497. break;
  498. }
  499. else
  500. {
  501. *pbEvent = UI_EVENT_TIMESHIFT;
  502. }
  503. #endif
  504. break;
  505. case UI_EVENT_KEYPAD_LEFT:
  506. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  507. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  508. if (ret == SYSTEM_APP_SUCCESS)
  509. {
  510. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  511. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  512. (dObjectID == APP_GUIOBJ_BANNER) ||
  513. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  514. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  515. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  516. {
  517. *pbEvent = UI_EVENT_VOL_DN;
  518. }
  519. else
  520. {
  521. *pbEvent = UI_EVENT_LEFT;
  522. }
  523. }
  524. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  525. {
  526. *pbEvent = UI_EVENT_VOL_DN;
  527. }
  528. break;
  529. case UI_EVENT_KEYPAD_RIGHT:
  530. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  531. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  532. if (ret == SYSTEM_APP_SUCCESS)
  533. {
  534. if ((dObjectID == DVB_GUIOBJ_PROGINFO) ||
  535. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  536. (dObjectID == APP_GUIOBJ_BANNER) ||
  537. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  538. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  539. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  540. {
  541. *pbEvent = UI_EVENT_VOL_UP;
  542. }
  543. else
  544. {
  545. *pbEvent = UI_EVENT_RIGHT;
  546. }
  547. }
  548. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  549. {
  550. *pbEvent = UI_EVENT_VOL_UP;
  551. }
  552. break;
  553. case UI_EVENT_KEYPAD_UP:
  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_UP;
  564. }
  565. else
  566. {
  567. *pbEvent = UI_EVENT_UP;
  568. }
  569. }
  570. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  571. {
  572. *pbEvent = UI_EVENT_CH_UP;
  573. }
  574. break;
  575. case UI_EVENT_KEYPAD_DOWN:
  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_PROGINFO) ||
  581. (dObjectID == DVB_GUIOBJ_PROGNUM) ||
  582. (dObjectID == APP_GUIOBJ_BANNER) ||
  583. ((dObjectID == DVB_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  584. {
  585. *pbEvent = UI_EVENT_CH_DN;
  586. }
  587. else
  588. {
  589. *pbEvent = UI_EVENT_DOWN;
  590. }
  591. }
  592. else if (ret == SYSTEM_APP_NO_FOCUSED_GUIOBJ)
  593. {
  594. *pbEvent = UI_EVENT_CH_DN;
  595. }
  596. break;
  597. case UI_EVENT_KEYPAD_SOURCE:
  598. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  599. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  600. if (ret == SYSTEM_APP_SUCCESS)
  601. {
  602. if ((dObjectID == DVB_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  603. {
  604. *pbEvent = UI_EVENT_ENTER;
  605. }
  606. else
  607. {
  608. *pbEvent = UI_EVENT_SOURCE;
  609. }
  610. }
  611. else
  612. {
  613. *pbEvent = UI_EVENT_SOURCE;
  614. }
  615. break;
  616. case UI_EVENT_KEYPAD_POWER:
  617. /*AL_Setting_Read(APP_Data_UserSetting_Handle(), SYS_SET_ID_FACTUSER, 0,
  618. sizeof(APP_SETTING_FactoryUser_t), &(g_stFactoryUserData));
  619. if(g_stFactoryUserData.BurnInModeOnOff == 1)
  620. {
  621. break;
  622. }
  623. *pbEvent = UI_EVENT_POWER;*/
  624. break;
  625. default:
  626. break;
  627. }
  628. }
  629. #endif
  630. #ifdef CONFIG_MEDIA_ENABLE
  631. static void _FILE_Player_IR10D_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  632. {
  633. INT32 dObjectID;
  634. sys_app_errorcode_t ret = SYSTEM_APP_SUCCESS;
  635. PopmsgType_t eType;
  636. switch(*pbEvent)
  637. {
  638. case UI_EVENT_MENU:
  639. if ((APP_MenuMgr_Exist_Main_Menu()) ||
  640. (APP_MenuMgr_Exist_Factory_Menu()) ||
  641. #ifndef CONFIG_SBTVD_SYSTEM
  642. (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_INITINSTALL)) ||
  643. #endif
  644. (SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_AMPLIFIERVOLUME)) ||
  645. ((SYSAPP_GOBJ_GUIObjectExist(dSystemAppIndex, APP_GUIOBJ_ADJUST)) &&
  646. (APP_GUIOBJ_Adjust_GetType() != ADJUST_VOLUME) &&
  647. (APP_GUIOBJ_Adjust_GetType() != ADJUST_HDMICEC_AMPVOLUME)))
  648. {
  649. *pbEvent = UI_EVENT_RETURN;
  650. }
  651. break;
  652. case UI_EVENT_GREEN:
  653. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  654. if (ret == SYSTEM_APP_SUCCESS)
  655. {
  656. if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
  657. (dObjectID == MEDIA_GUIOBJ_MOVIE_HINT) ||
  658. (dObjectID == MEDIA_GUIOBJ_MOVIE_GOTO) ||
  659. (dObjectID == MEDIA_GUIOBJ_MUSIC_PLAYBACK))
  660. {
  661. *pbEvent = UI_EVENT_GOTO;
  662. }
  663. }
  664. break;
  665. case UI_EVENT_BLUE:
  666. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  667. if (ret == SYSTEM_APP_SUCCESS)
  668. {
  669. if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
  670. (dObjectID == MEDIA_GUIOBJ_MOVIE_HINT))
  671. {
  672. *pbEvent = UI_EVENT_AB;
  673. }
  674. }
  675. break;
  676. case UI_EVENT_YELLOW:
  677. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  678. if (ret == SYSTEM_APP_SUCCESS)
  679. {
  680. *pbEvent = UI_EVENT_REPEAT;
  681. }
  682. break;
  683. case UI_EVENT_KEYPAD_LEFT:
  684. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  685. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  686. if (ret == SYSTEM_APP_SUCCESS)
  687. {
  688. if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
  689. (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
  690. (dObjectID == APP_GUIOBJ_BANNER) ||
  691. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  692. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  693. //((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) && (dvb_FileBrowser_GetAudioPlayState() != MEDIA_STATE_STOP)) ||
  694. ((dObjectID == MEDIA_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  695. {
  696. *pbEvent = UI_EVENT_VOL_DN;
  697. }
  698. else
  699. {
  700. *pbEvent = UI_EVENT_LEFT;
  701. }
  702. }
  703. break;
  704. case UI_EVENT_KEYPAD_RIGHT:
  705. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  706. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  707. if (ret == SYSTEM_APP_SUCCESS)
  708. {
  709. if ((dObjectID == MEDIA_GUIOBJ_MOVIE_PLAYBACK) ||
  710. (dObjectID == MEDIA_GUIOBJ_PHOTO_PLAYBACK) ||
  711. (dObjectID == APP_GUIOBJ_BANNER) ||
  712. (dObjectID == APP_GUIOBJ_AMPLIFIERVOLUME) ||
  713. ((dObjectID == APP_GUIOBJ_ADJUST) && (APP_GUIOBJ_Adjust_GetType() == ADJUST_VOLUME || APP_GUIOBJ_Adjust_GetType() == ADJUST_HDMICEC_AMPVOLUME)) ||
  714. //((dObjectID == MEDIA_GUIOBJ_HOMEPAGE) && (dvb_FileBrowser_GetAudioPlayState() != MEDIA_STATE_STOP)) ||
  715. ((dObjectID == MEDIA_GUIOBJ_POPMSG) && ((eType == POPMSG_TYPE_PROMPT) || (eType == POPMSG_TYPE_PWD))))
  716. {
  717. *pbEvent = UI_EVENT_VOL_UP;
  718. }
  719. else
  720. {
  721. *pbEvent = UI_EVENT_RIGHT;
  722. }
  723. }
  724. break;
  725. case UI_EVENT_KEYPAD_UP:
  726. *pbEvent = UI_EVENT_UP;
  727. break;
  728. case UI_EVENT_KEYPAD_DOWN:
  729. *pbEvent = UI_EVENT_DOWN;
  730. break;
  731. case UI_EVENT_KEYPAD_SOURCE:
  732. ret = SYSAPP_GOBJ_GetFocusedGUIObject(dSystemAppIndex, &dObjectID);
  733. APP_GUIOBJ_PopMsg_GetMsgType(&eType);
  734. if (ret == SYSTEM_APP_SUCCESS)
  735. {
  736. if ((dObjectID == MEDIA_GUIOBJ_POPMSG) && (eType == POPMSG_TYPE_CONFIRM))
  737. {
  738. *pbEvent = UI_EVENT_ENTER;
  739. }
  740. else
  741. {
  742. *pbEvent = UI_EVENT_SOURCE;
  743. }
  744. }
  745. else
  746. {
  747. *pbEvent = UI_EVENT_SOURCE;
  748. }
  749. break;
  750. case UI_EVENT_KEYPAD_POWER:
  751. break;
  752. default:
  753. break;
  754. }
  755. }
  756. #endif
  757. #ifdef NET_SUPPORT
  758. static void _Network_IR10D_Event_convert(UINT32 dSystemAppIndex, UINT32 *pbEvent)
  759. {
  760. switch(*pbEvent)
  761. {
  762. case UI_EVENT_MENU:
  763. break;
  764. case UI_EVENT_KEYPAD_LEFT:
  765. *pbEvent = UI_EVENT_LEFT;
  766. break;
  767. case UI_EVENT_KEYPAD_RIGHT:
  768. *pbEvent = UI_EVENT_RIGHT;
  769. break;
  770. case UI_EVENT_KEYPAD_UP:
  771. *pbEvent = UI_EVENT_UP;
  772. break;
  773. case UI_EVENT_KEYPAD_DOWN:
  774. *pbEvent = UI_EVENT_DOWN;
  775. break;
  776. case UI_EVENT_KEYPAD_SOURCE:
  777. *pbEvent = UI_EVENT_SOURCE;
  778. break;
  779. case UI_EVENT_KEYPAD_POWER:
  780. *pbEvent = UI_EVENT_POWER;
  781. break;
  782. default:
  783. break;
  784. }
  785. }
  786. #endif
  787. void IR10D_EventConvert(UINT32 *pbEvent)
  788. {
  789. UINT32 dSystemAppIndex;
  790. if (MAINAPP_GetActiveSystemAppIndex(&dSystemAppIndex) == MAIN_APP_SUCCESS)
  791. {
  792. switch(dSystemAppIndex)
  793. {
  794. #ifdef CONFIG_ATV_SUPPORT
  795. case SYS_APP_ATV:
  796. _ATV_IR10D_Event_convert(dSystemAppIndex, pbEvent);
  797. break;
  798. #endif
  799. #ifdef CONFIG_DTV_SUPPORT
  800. case SYS_APP_DVB:
  801. _DVB_IR10D_Event_convert(dSystemAppIndex, pbEvent);
  802. break;
  803. #endif
  804. #ifdef CONFIG_MEDIA_ENABLE
  805. case SYS_APP_FILE_PLAYER:
  806. _FILE_Player_IR10D_Event_convert(dSystemAppIndex, pbEvent);
  807. break;
  808. #endif
  809. #ifdef CONFIG_SUPPORT_NETAPP
  810. case SYS_APP_NETWORK:
  811. _Network_IR10D_Event_convert(dSystemAppIndex, pbEvent);
  812. break;
  813. #endif
  814. default:
  815. break;
  816. }
  817. }
  818. }