📄 key_handler_idle.c
字号:
break; } InitTempValueState(); } if( gCode_free_ready == TRUE && GetTempInputDig()== 1 ) { if( (data.number[0] >= REGION_CODE_NUM_1 && data.number[0] <= REGION_CODE_NUM_6) || (data.number[0] == REGION_CODE_FREE ) ) { SysPrintf("\n[RC] Region Code Changed To %d", data.number[0] ); SetupInfoSetMenuRegionCode( (UCHAR) data.number[0] ); icon_ctrl.num = (UINT)data.number[0]; OSD_SetIconDisplay(ICON_NUMERIC, &icon_ctrl, SYS_NO_WAIT); } gCode_free_ready = FALSE; InitTempValueState(); } }}#endif/*_APP_CAP_FUNC_RC_CODE_FREE*/#ifdef _DVD_PROGRAMextern DvdProgram_t gDvd_program;#endif#if _APP_CAP_FUNC_SVCD_PROGRAM_MODEextern SVCD_PROGRAM_STRUCT gSvcdProgram;#endif/******************************************************************************* Function name : * Arguments : * IN * VOID* OUT * I/O * Return : * VOID* By : QQ* Description : * Revision : 050826*******************************************************************************/CHAR PgmSetMediaTypeDispStrNum(BOOL child){ PgmAppTypeNum_st PgmAppTypeNum_temp[] = { {0,0}, {2,3}, {2,2},#if _APP_CAP_OSD_PROG_4_DIGIT//By QQ 050826 {3,4},#else/*_APP_CAP_OSD_PROG_4_DIGIT*/ {3,3},#endif/*_APP_CAP_OSD_PROG_4_DIGIT*/ }; if(child) return PgmAppTypeNum_temp[S5H_GetAppType()].child; else return PgmAppTypeNum_temp[S5H_GetAppType()].parent;}/******************************************************************************* Function name : GuiPgmHandle* Arguments : * IN UCHAR key* * OUT * I/O * Return : BOOL * * By : Kim Do Yeon * Description : Handle Keys in program OSD* Revision : 1.0 *******************************************************************************/ BOOL GuiPgmHandle(UCHAR key){ if (IS_NUM_KEY(key)) { GuiPgmNum(key); return TRUE; } if(key != RC_KEY_PLAY && key != RC_KEY_PROGRAM) gPlay_key_cnt = 0; else gPlay_key_cnt++; switch(key) { case RC_KEY_LEFT: GuiPgmLeft(); break; case RC_KEY_RIGHT: GuiPgmRight(); break; case RC_KEY_UP: GuiPgmUp(); break; case RC_KEY_DOWN: GuiPgmDown(); break; case RC_KEY_ENTER: GuiPgmEnter(); break; case RC_KEY_PLAY: if(gPlay_key_cnt > 1) return TRUE; else { if(GetTempInputDig() != 0)//wanglin 20061009 { GuiPgmEnter(); SysSleep(200,NULL); } GuiPgmPlay(); } break; case RC_KEY_PROGRAM: case RC_KEY_RETURN: case RC_KEY_MEMORIZE: if(GetTempInputDig() != 0) //wanglin 20061009 { GuiPgmEnter(); SysSleep(200,NULL); } GuiPgmReturn(); break;#if _APP_CAP_KEY_USE_CLEAR case RC_KEY_CLEAR: GuiPgmClearCertainItem(); break;#endif/*_SUPPORT_CLEAR_KEY*/ case RC_KEY_STOP: default: OsdNotAvailOn(); return TRUE; } return TRUE;}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : * Revision : *******************************************************************************/VOID GuiPgmUp(VOID){ UCHAR edit_index; edit_index = GetPgmEditIndex(); PgmCheckInputDataAndDsp(RC_KEY_UP); switch (GetPgmArea() ) { case PGM_AREA_BTN: OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; case PGM_AREA_EDIT: if ((edit_index % 5) == 0) { SetPgmArea(PGM_AREA_BTN); SetPgmBtn(PGM_BTN_PLAY); } else SetPgmEditIndex(edit_index - 1); OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); break; }}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : * Revision : *******************************************************************************/VOID GuiPgmDown(VOID){ UCHAR edit_index; edit_index = GetPgmEditIndex(); PgmCheckInputDataAndDsp(RC_KEY_DOWN); switch (GetPgmArea() ) { case PGM_AREA_BTN: SetPgmArea(PGM_AREA_EDIT); OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); break; case PGM_AREA_EDIT: if ((edit_index % 5) == 4) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } else { SetPgmEditIndex(edit_index + 1); OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); } break; }}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : * Revision : *******************************************************************************/VOID GuiPgmLeft(VOID){ UCHAR edit_index; edit_index = GetPgmEditIndex(); PgmCheckInputDataAndDsp(RC_KEY_LEFT); switch (GetPgmArea() ) { case PGM_AREA_BTN: if ( GetPgmBtn() == PGM_BTN_PLAY) SetPgmBtn( PGM_BTN_CLEAR); else SetPgmBtn(PGM_BTN_PLAY); OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); break; case PGM_AREA_EDIT: if (GetPgmEditItem() == PGM_EDIT_CHILD) { if (S5H_GetAppType() != APP_VCD) SetPgmEditItem( PGM_EDIT_PARENT); else if ((edit_index/5) == 0) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } else { SetPgmEditIndex(edit_index - 5); } } else if ((edit_index/5) == 0) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } else { SetPgmEditIndex(edit_index - 5); SetPgmEditItem(PGM_EDIT_CHILD); } OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); break; }}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : * Revision : *******************************************************************************/VOID GuiPgmRight(VOID){ UCHAR edit_index = GetPgmEditIndex(); PgmCheckInputDataAndDsp(RC_KEY_RIGHT); switch (GetPgmArea() ) { case PGM_AREA_BTN: if ( GetPgmBtn() == PGM_BTN_PLAY) SetPgmBtn( PGM_BTN_CLEAR); else SetPgmBtn(PGM_BTN_PLAY); OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); break; case PGM_AREA_EDIT: if (GetPgmEditItem() == PGM_EDIT_PARENT) SetPgmEditItem( PGM_EDIT_CHILD); else if ((edit_index/5) == 3) { OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT); return; } else { SetPgmEditIndex(edit_index + 5); if (S5H_GetAppType() != APP_VCD) SetPgmEditItem(PGM_EDIT_PARENT); } OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT); break; }}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : 050713 for optimize add this function* Revision : *******************************************************************************/VOID GuiPgmPlay(VOID){ InitTempValueState(); //SetPgmTempInputValue(0xFFFF); // Qian liping 060720: bug fix 36 if( GetPgmArea()== PGM_AREA_EDIT && GetPgmTempInputValue()!=0xffff) GuiPgmEnter();#ifndef _MTK_STYLE // Qian liping 060811: bug fix 607. in _MTK_STYLE, keep zoom SetZoomDefault(); #endif // Clear the cursor layer first. // Qian liping 060725: bug fix 44 OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT); if(PgmCopyDataToNav()) { if (S5H_GetAppType() != APP_MMN) UiBigOsd(FALSE, BIG_OSD_PROGRAM); UiPlayModeChange(PARAM_PB_PROGRAM); } else { //if (S5H_GetAppType() != APP_MMN) // cydrain 20060831 { UiBigOsd(FALSE, BIG_OSD_PROGRAM); } UiPlayModeChange(PARAM_PB_NORMAL); } }/******************************************************************************* Function name : GuiPgmClearCertainItem* Arguments : * IN * * OUT * I/O * Return : * VOID* By : QQ* Description : * Revision : 060221*******************************************************************************/VOID GuiPgmClearCertainItem(VOID){ PgmEdit_et edit_item = GetPgmEditItem(); BYTE1 edit_index = GetPgmEditIndex(); PgmArea_et pgm_area = GetPgmArea(); OsdPgmSet_st pgm; pgm.edit_idx = edit_index; switch ( pgm_area) { case PGM_AREA_BTN: OSD_SetIconDisplay(ICON_WARNING,NULL,SYS_NO_WAIT); return; break; case PGM_AREA_EDIT: InitTempValueState(); if( edit_item == PGM_EDIT_PARENT ) { SetPgmInputValue( edit_index , PGM_EDIT_PARENT , 0xFFFF ); OSD_ChangeProgram( OSD_CTRL_PARENT_DUMMY, &pgm, SYS_NO_WAIT ); } SetPgmTempInputValue( 0xFFFF ); SetPgmInputValue( edit_index , PGM_EDIT_CHILD , 0xFFFF ); OSD_ChangeProgram( OSD_CTRL_CHILD_DUMMY, &pgm, SYS_NO_WAIT ); break; }#if _APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM PgmUpdatePgmedTotal();#endif/*_APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM*/}/******************************************************************************* Function name : GuiPgmClear* Arguments : * IN * * OUT * I/O * Return : * VOID* By : QQ* Description : * Revision : *******************************************************************************/VOID GuiPgmClear(VOID){ PgmInit(); OSD_ChangeProgram(OSD_CTRL_PGM_CLEAR, NULL, SYS_NO_WAIT); OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);#if _APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM PgmUpdatePgmedTotal();#endif/*_APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM*/}/******************************************************************************* Function name : * Arguments : * IN * * OUT * I/O * Return : * VOID* By : Liu renliang* Description : 050714 from return function* Revision : *******************************************************************************/VOID GuiPgmReturn(VOID){ if (S5H_GetAppType() == APP_MMN) { UiBigOsd(FALSE, BIG_OSD_PROGRAM); // cydrain 20060406 if (GetMmpFileType()==MMP_AUDIO_FILE) { UiPlayModeChange(PARAM_PB_NORMAL); } } else { // Qian liping 060418 if(GetDisplayIconState()== ICON_WARNING ) { OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT); } SetTempValueSetFlag( FALSE ); InitTempValueState(); SetPgmTempInputValue(0xFFFF); UiBigOsd(FALSE, BIG_OSD_PROGRAM); #ifdef _APP_CAP_GVG_INFO_KEEP_AFTER_PROGRAM //clina 061018 add for GVG bug12 OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT); #else if(gOSD_state.etCur_dsp!=DISPLAY_INFO) OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT); #endif } SetPgmEditIndex( 0 ); // Qian liping 060918}/**********************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -