ir_parser.c
来自「凌阳8202T的红外接收代码及LED屏的驱动代码」· C语言 代码 · 共 2,095 行 · 第 1/5 页
C
2,095 行
extern int do_copy_file();
printf("<SUB-TITLE>\n");
do_copy_file();
return;
}
#endif //SUPPORT_HDD_ACCESS
#if defined(SUPPORT_DVB_GUI_NEW)&&defined(DVB_IR_3D_ON)
if(Is_Dvb_State() && (full_scrn&SOUND))
{
need_run_cmd = 1;
}
#endif
#ifdef IR_SWITCH_DVD_USB_CARD_AVIN_DVB
if(rx == IRC_DVD_USB_CARD_AVIN_DVB)
{
need_run_cmd = 1;
}
#endif
#if defined(SUPPORT_FONT_SWITCH_BY_ANGLE)&&defined(PMP_UI) //ADD BY YANGLI FOR CHANGE FONT ,2005-10-17 10:50
if(rx == IRC_ANGLE)
{
need_run_cmd = 1;
}
#endif
#ifdef MUSTEK_MULTI_FUNCTION_DIRECTION_KEY
if((rx==IRC_ANGLE) && cd_type_loaded)
{
need_run_cmd = 1;
}
#endif
}else if( (invalid&PROG_PLAY)&&prog_cnt && (!setup_IsSettingPassword()) )
{
#ifdef IR_DBG
printf("<ir_invalid 7>\n");
#endif
need_run_cmd=0;
}
#ifndef SUPPORT_GOTO_IN_JPEG_STATE//suqiaoli add 2003-11-20
else if( (invalid&JPEG)&&(Is_JPEG_STATE()) )
{
#ifdef IR_DBG
printf("<ir_invalid 4>\n");
#endif
#ifndef SUPPORT_DPF_UI
need_run_cmd=0;
#endif
}
#endif
else if(keep_cmd_code != IR_CODE_MAX_NUM)//2004-3-30 19:19
{
#ifdef IR_DBG
printf("<ir_invalid 3>\n");
#endif
need_run_cmd=0;
}else if(dev_status_flag&DEV_DETECT_CSS)
{
#ifdef IR_DBG
printf("<ir_invalid 2>\n");
#endif
#ifdef PRE_NEXT_FLAG //axel, for invalid IRC_NEXT in bad discs 2004/7/12
if(rx==IRC_PREV)
{
PRE_FLAG=1;
#ifdef IR_DBG
printf("<PRE_FLAG>\n");
#endif
}
else if(rx==IRC_NEXT)
{
NEXT_FLAG=1;
#ifdef IR_DBG
printf("<NEXT_FLAG>\n");
#endif
}
#endif //#ifdef PRE_NEXT_FLAG
need_run_cmd=0;
}else if((invalid&DVD_PROHIBIT)&&(is_dvd_prohibit_key()||(goto_active==1)) )
{
#ifdef IR_DBG
printf("<ir_invalid 1>\n");
#endif
#ifdef PRE_NEXT_FLAG //axel, for invalid IRC_NEXT in bad discs 2004/7/12
if(rx==IRC_PREV)
{
PRE_FLAG=1;
#ifdef IR_DBG
printf("<PRE_FLAG>\n");
#endif
}
else if(rx==IRC_NEXT)
{
NEXT_FLAG=1;
#ifdef IR_DBG
printf("<NEXT_FLAG>\n");
#endif
}
#endif //PRE_NEXT_FLAG
if(rep_ab_mode!=REPEAT_FIND_B)
need_run_cmd=0;
/*if [invalid 1] and SETUP, the setup menu wouldn't be clean, helm 051108*/
if ((full_scrn & SETUP) && (pe_run == 0))
need_run_cmd = 1;
}
//else if((invalid&BOOKMARK)&&(t_disp==3))//NONO 2-4-29 18:41
//need_run_cmd=0;
//else if( (invalid&GAME)&&(Is_GAME_STATE()) )//NONO 2-4-29 18:41
//need_run_cmd=0;
if(need_run_cmd!=2) { //terry,2002/5/16 10:37PM,
#ifdef SETUP_PROGRAM_IN_PLACE_UNDER_16M // 2004/01/14 yltseng
extern UINT8 g_uiOSDStatus;
if( g_uiOSDStatus & OSD_FULL_SCREEN_STATUS_WAIT_ATAPI_CMD_FINISH ||
g_uiOSDStatus & OSD_FULL_SCREEN_STATUS_WAIT_KERNEL_DECODE_FINISH )
return;
#endif
if(full_scrn)
{
if(StateChkKey[rx] & full_scrn)
{
//printf("State:%x rx:%d full_scrn:%x\n",StateChkKey[rx],rx,full_scrn);
#ifdef NEWSTYLE_WINDOW
if(full_scrn==MESSAGE)
{
//printf("StateChkKey[%d]: %d full_scrn=:%d\n",rx,StateChkKey[rx],full_scrn);
//if(rx == IRC_ZOOM)
//{
// invalid_key();
// return;
//}
exit_browse_func();
}
#endif
#ifdef GPS_DVD//frank.huang 050928
extern void GPS_key_board();
extern void GPS_key_menu();
if(full_scrn==TOUCH_MENU)
{
GPS_key_menu();//exit the GPS_TOUCH_MENU
}
if(full_scrn==TOUCH_KEYBOARD)
{
GPS_key_board();//exit the GPS_TOUCH_MENU
}
#endif
#ifdef DOUBLE_TITLE //susu add 2003-8-27 13:55
if (full_scrn & DOUBLETITLE)
{
exit_double_title();
}
#endif
if (full_scrn & SOUND)
{
#ifdef RETAIN_3D_IN_PREV_NEXT
if(!(rx==IRC_PREV || rx==IRC_NEXT)) //wuxiaofeng 2004-5-24
#endif
cancel_sound();//liweihua 2004-1-13 10:04
#ifdef MUSTEK_MULTI_FUNCTION_DIRECTION_KEY
if(rx == IRC_ANGLE)
return;
#endif
}
#ifdef DIRECT_ACCESS_MEDIA
else if( full_scrn & SW_MEDIA)
{
exit_switch_media_gui(NO_RESUME_AFTER_EXIT_SWITCH_MENU);
#ifdef SUPPORT_FILEKOK
extern BYTE g_scIsMp4Karaoke;
if(g_scIsMp4Karaoke)
{
osd_midi_init();
FileKokUI_ShowMainUI();
}
#endif
}
#endif
else if (full_scrn & PROGRAM) //add by shawn 20020218
{
#ifdef LARGE_OSD_SHOW_IN_LOGO
#ifdef SDRAM_16MB_IRCMD_RETURN_WHEN_PROGRAM //linrc 2004-6-10 11:19
#ifdef ALCO_DVD_UI
if(/*(rx==IRC_ANGLE)||*/(rx==IRC_SUBP)||(rx==IRC_CHANNEL)||(rx==IRC_AUD_LANGUAGE)||
#else
if((rx==IRC_ANGLE)||(rx==IRC_SUBP)||(rx==IRC_CHANNEL)||
#endif
(rx==IRC_PREV)||(rx==IRC_NEXT)||(rx==IRC_BACKWARD)||
(rx==IRC_FORWARD)||(rx==IRC_RETURN)||(rx==IRC_ZOOM) ||
(rx==IRC_SLOW)||(rx==IRC_REPEAT)||(rx==IRC_AB)||(rx==IRC_PAUSE))
{
#ifdef NEED_DIFF_IR_PANEL_KEY
panel_key_flag = 0;
#endif
return;
}
#endif
#ifdef NEW_STYLE_SETUP
if (rx ==IRC_SETUP)//zhaoyanhua add 2003-8-8 13:42
prog_state = 6;
#elif defined ( OP_PLAYMODE )//LIBING 2005-7-14 15:56
if(rx==IRC_MODE)
prog_state = 6;
#else
prog_state=3; // 3 means that ircmd_stop pressed when full_scrn==PROGRAM
prog_cnt = 0; //dingzhy add for 1x16
prog_func_clear(); //dingzhy add for 1x16
#endif//NEW_STYLE_SETUP
#ifdef OP_PLAYMODE
if (rx ==IRC_ZOOM)
{
ircmd_clear();
return;
}
#endif
#endif//SDRAM_16Mb_Mode
//#ifdef JIEKE_DVD
//return;
//#else
#ifdef JIEKE_DVD
prog_cnt = 0;
#endif
#ifdef OP_PLAYMODE
if (rx ==IRC_ZOOM)
{
ircmd_clear();
return;
}
#endif
#ifndef EXIT_KEY//chenzhao20060124 //hongfeng 2005-12-06
prog_func_off();
#endif
#ifdef LARGE_OSD_SHOW_IN_LOGO
#ifndef ALCO_DVD_UI
resumeMSF=0;//nono 4-1-16 15:27
#endif
#endif//SDRAM_16Mb_Mode
//#endif
// re-load setup module
//LoadModual(MODUAL_AP2);
}
else if ((full_scrn & SETUP) || (full_scrn & CUSTM))
{
#ifdef NEW_STYLE_SETUP//2003-8-13 18:16
if(rx == IRC_TITLEMENU) return;
#endif//NEW_STYLE_SETUP
#if defined(LARGE_OSD_SHOW_IN_LOGO)&& !defined(ALCO_DVD_UI)
#ifdef NEW_STYLE_SETUP//zhaoyanhua add 2003-8-8 10:07
//In SETUP, enter PROGRAM
if (rx == IRC_PROGRAM)
prog_state =6;
#else
prog_state=3; // 3 means that ircmd_stop pressed when full_scrn==SETUP
#endif// NEW_STYLE_SETUP
#endif //SDRAM_16Mb_Mode
//#ifdef JIEKE_DVD
//return;
//#else
#ifdef KARAOKE_MENU
if(rx!=IRC_KARAOKE)
KARAOKE_MENU_FLAG=0;
#endif
#if defined(NEW_PARENTAL_GUI)||defined(MODIFY_PARENTAL_GUI)
//avoid the error:when TRAY OUT enter SETUP ,show error infomation.
//zhaoyanhua add 2004-2-9 11:24
#if defined(NEW_PARENTAL_GUI)
if(new_parental_gui)
#elif defined(MODIFY_PARENTAL_GUI)
if(parental_gui_flag)
#endif//defined(MODIFY_PARENTAL_GUI)
{
#if defined(DVD_AUDIO)//&&defined(NEW_PARENTAL_GUI)//20040302
if(pDSV->hid_gp_chk_pwd==2)
ExitDVDAudioGUI();
else
#endif
ExitParentalGUI();
}else
#endif//NEW_PARENTAL_GUI
#ifdef SETUP_SOME_KEY_NO_RESPONSE//eastech2030
//printf("pre test6\n");
#if defined(ALCO_8200P_MULTIKEY)&&defined(NEED_DIFF_IR_PANEL_KEY)
if(((play_state==VCD_STATE_OPEN)||(play_state==VCD_STATE_IDLE))
&& (rx==IRC_PAUSE)
&&(panel_key_flag && (!(panel_key_flag&(0x01<<2)))))
{
if(panel_key_flag&(0x01<<0))
{
panel_key_flag = 0;
#if defined(ALCO_DVD_UI)&&defined(DVD_SETUP_REENG)
setup_ExitPage();
#else
ExitSetupPage(1);
#endif
rx=IRC_NULL;
return;
}
}
else
#endif//#if defined(ALCO_8200P_MULTIKEY)&&defined(NEED_DIFF_IR_PANEL_KEY)
#ifdef EXIT_KEY//chenzhao20060208
if(rx==IRC_EXIT||rx==IRC_POWER||rx==IRC_EJECT) //add by TOM
#else
if(rx==IRC_SETUP||rx==IRC_POWER||rx==IRC_EJECT) //add by TOM
#endif
{
#ifdef EXIT_KEY//chenzhao20060210 //hongfeng 2005-12-07
if(rx!=IRC_EXIT)
#endif
#if defined(ALCO_DVD_UI)&&defined(DVD_SETUP_REENG)
setup_ExitPage();
#else
ExitSetupPage(1);
#endif
}
else
{
#ifdef ALCO_DVD_UI
if((play_state==VCD_STATE_OPEN) || (play_state==VCD_STATE_IDLE))
{
rx=IRC_NULL;
#if defined(DVD_SETUP_REENG)
setup_ExitPage();
#else
ExitSetupPage(1);
#endif
panel_key_flag = 0;
#ifdef PAUSE_PREV_DISPLAY_MACROVISION_VERSION
if(MACVersion_count)
MACVersion_count=0;
#endif
return;
}
else
#if defined(DVD_SETUP_REENG)
setup_ExitPage();
#else
ExitSetupPage(1);
#endif
#if defined(ALCO_8200P_MULTIKEY)&&defined(NEED_DIFF_IR_PANEL_KEY)
if(rx == IRC_PAUSE)
{
if((play_state==VCD_STATE_STOP) && (resumeMSF))
{
PrintOsdMsg(STR_OS_PRE_STOP,REGION1,0,0);
return;
}
else if(play_state == VCD_STATE_STOP)
{
PrintOsdMsg(STR_OS_STOP,REGION1,0,0);
return;
}
}
#endif//#if defined(ALCO_8200P_MULTIKEY)&&defined(NEED_DIFF_IR_PANEL_KEY)
#else//#ifdef ALCO_DVD_UI
if(rx!=IRC_STOP)
{
rx=IRC_NULL;
return;
}
else
{
if(full_scrn & CUSTM)
ExitSetupPage(1);
if(full_scrn & SETUP)
{
rx=IRC_NULL;
return;
}
}
#endif////#ifdef ALCO_DVD_UI
}
#else
#ifdef EXIT_KEY//chenzhao20060124 //hongfeng 2005-12-07
if(rx!=IRC_EXIT)
#endif
ExitSetupPage(1);
#ifdef STOP_KEY_ONLY_CANCLE_SETUPMENU_AT_SETUPMENU//tianye 200607
extern UINT8 DVD2DVB_switch_flag;
if((rx == IRC_STOP)&&(DVD2DVB_switch_flag == 0))
{
rx=IRC_NULL;
return;
}
#endif//end=> #ifdef STOP_KEY_ONLY_CANCLE_SETUPMENU_AT_SETUPMENU
#endif//SETUP_SOME_KEY_NO_RESPONSE
#if defined(LARGE_OSD_SHOW_IN_LOGO) && !defined(STOP_SHOW_SETUP)//libing modify it 2005-6-17 13:17
//avoid the bug when otherIR key (except SETUP),
//"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?