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 + -
显示快捷键?