⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyproc.c

📁 MTK portableDVD 采用mtk1389方案的代码
💻 C
📖 第 1 页 / 共 4 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 05/09/23 11:14a   $       ****************/
/***************  $Revision: 2.0 $       ****************/
/***************                                       ****************/
/***************   Description : Play module for       ****************/
/***************                 non-disc dependant    ****************/
/***************                 key processing        ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/

#pragma NOAREGS
#include "general.h"

#ifdef BBK_NEW_MENU        //&& !defined(USE_4M)  dengsu 0802
extern void vExitBBKMenu(void)large;
extern void vEnterBBKMenu(void) large;
#endif
#ifdef SUPPORT_HDVD_CHANNEL_CHANGE
xdata BYTE fgHDVDChannel=0;
#endif
#ifdef VIDEOIN_DETECT //billy[060917]
extern BYTE xdata bVedioIn;
#endif

#ifdef JPG_DECODE_NO_ZOOM
extern   xdata BYTE _bJpgDecode;
#endif 
#ifdef DL339_MENU
extern BYTE xdata _fgInBBKMenuMode;
extern BYTE xdata _bBBKMenuMode;
#endif
#ifdef MAX9702_Mute
BOOL fgSetMAX9702SMute(BYTE bMode) large;
#endif
#ifdef  DIRECT_Adjust_VCOM
 BYTE  xdata  VCOM_ENTER_EN =0 ;
 BYTE  xdata bVCOMPassWord = 0 ;
#endif
// *********************************************************************
// NonISO(DVD,VCD,CDDA,AUDIO_IN key function
// *********************************************************************
#ifdef SUPPORT_HDVD_CHANNEL_CHANGE     //linshangbo   041305   bg
static BOOL fgNonISOChannelChangeKey(void) large
{
fgHDVDChannel=(fgHDVDChannel+1)%3;
  switch(fgHDVDChannel)
  	{
  	case 0:               //contain L&R channel
         vAdspLR(AUDIO_STEREO);
         vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_STEREO, OSD_TIMEOUT_SHORT);
         return(UOP_OK);
       case 1:                         //contain L channel  
         vAdspLR(AUDIO_MONO_LEFT);
         vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_MONO_LEFT, OSD_TIMEOUT_SHORT);
  	  return(UOP_OK);
  	case 2:                          //contian R channel
  	 vAdspLR(AUDIO_MONO_RIGHT);
  	 vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_MONO_RIGHT, OSD_TIMEOUT_SHORT);
  	 return(UOP_OK);
      default:
  	 return(UOP_FAIL);
  	 
  	}
   return(UOP_FAIL);
}
#endif                                                                            //linshangbo   041305   end

static BOOL fgNonISONumKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDNumKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDNumKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDANumKey());
  }  
  else
  {
    return (UOP_OK);
  }  
  
}  
static BOOL fgNonISODirKey(void) large
{
  BYTE bParm;

  switch(_bIRKey)
  {
    case IR_UP:
      bParm = SV_UP;
      break;
    case IR_DOWN:
      bParm = SV_DOWN;
      break;
    case IR_LEFT:
      bParm = SV_LEFT;
      break;
    case IR_RIGHT:
      bParm = SV_RIGHT;
      break;
    default:
      return (UOP_FAIL);
  }
#ifdef PLAYER_ZOOMIN_INDICATOR
  if((bSharedInfo(SI_ZOOM_SWITCH) >= SV_ZOOM_IN_MIN) && (bSharedInfo(SI_ZOOM_SWITCH) <= SV_ZOOM_IN_MAX))
  {
	  vZoomBrOn();
  }
#endif

  if( fgIsDvdPlay() )
  {
#ifdef DVD_IGNORE_BTN_NO_CMD
  vSendUopCmd(UOP_ARROW_BTN, bParm, 0, 0);
#else
  vSendUopCmd(UOP_ARROW_BTN, bParm, 1, 0);
#endif
  }
  else
  {
    vSendUopCmd(UOP_ARROW_BTN, bParm, 0, 0);
  }   
  return (UOP_OK);
}
static BOOL fgNonISOEnterKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDEnterKey());
  }
  else
  {
    return (UOP_OK);
  }  
}  
static BOOL fgNonISOPlayKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDPlayKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDPlayKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAPlayKey());
  }    
  else
  {
    return (UOP_OK);
  }  
}  
static BOOL fgNonISOPauseKey(void) large
{
  BYTE bPbcState = bSharedInfo(SI_PBC_STATE);

  if (!fgIsDiscPlay(bPbcState))
  {
    vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
    return (UOP_OK);
  }

  if (bSharedInfo(SI_PBC_STATE) == SV_PAUSE)
  {
    vSendUopCmd(UOP_PLAY, 0, 0, 0);
  }
  else
  {
    vSendUopCmd(UOP_PAUSE, 0, 0, 0);
  }

  return (UOP_OK);
  
}  

static BOOL fgNonISOStopKey(void) large
{
  BYTE bState = bSharedInfo(SI_PBC_STATE);
  BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);
  
  if ( fgIsDvdPlay() || fgIsVcdPlay() )
  {
#if defined(PROG_NO_STOP_RESUME)
    if ((bSharedInfo(SI_USR_PBC_CTRL) == SV_PROGRAM) &&
        (fgIsDiscPlay(bState)))
    {
      vSendUopCmd(UOP_STOP, 0, 0, 0);
      vSendUopCmd(UOP_STOP, 0, 0, 0);
      /*
      vSendUopCmd(UOP_STOP, 0, 0, SV_STOP_FORCE);
      */
      return (UOP_OK);
    }
#endif

#if (STOP_RESUME_STYLE == STOP_RESUME_TWO_KEYS)
    if (bState == SV_STOP_RESUME)
    {
      return (UOP_OK);
    }
#endif

    vSendUopCmd(UOP_STOP, 0, 0, 0);

    return (UOP_OK);  
  }
  else if (fgIsCddaPlay())
  {
    return( fgCDDAStopKey());
  }  
  else
  {
    return (UOP_OK);  
  }  
}  

static BOOL fgNonISONextKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDNextKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDNextKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDANextKey());
  }    
  else
  {
    return (UOP_OK);
  }    
}  

static BOOL fgNonISOPrevKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDPrevKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDPrevKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAPrevKey());
  }    
  else
  {
    return (UOP_OK);
  }    
}  

static BOOL fgNonISORepeatKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDRepeatKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDRepeatKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDARepeatKey());
  }    
  else
  {
    return (UOP_OK);
  }    
}  
BOOL fgNonISOResumeKey()
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDResumeKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDResumeKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAResumeKey());
  }    
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOFFKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDFFKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDFFKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAFFKey());
  }    
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOFRKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDFRKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDFRKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAFRKey());
  }    
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOSFKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDSFKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDSFKey());
  }
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOSRKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDSRKey());
  }
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOStepFKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDStepFKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDStepFKey());
  }
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOStepRKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDStepRKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDStepRKey());
  }
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOA2BKey(void) large
{
  BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
#ifdef RUSSIAN_BUYER_REQUEST2	
  BYTE bAuxCtrl = bSharedInfo(SI_USR_AUX_CTRL);		//songchen 061211
#endif

  if ( fgIsDvdPlay() || fgIsVcdPlay() )
  {
    if (!fgIsDiscPlay(bPbcState))
    {
      vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
      return (UOP_OK);
    }
#ifdef RUSSIAN_BUYER_REQUEST2			//songchen 061211
  	vOsdPosClear(OSD_POS_REPEAT_MSG); 
		
	  if(bAuxCtrl != SV_REPEAT_AB && bAuxCtrl != SV_REPEAT_SET_A)
	  {
  	  vOsdPosShow(OSD_POS_REPEAT_MSG, OSD_MSG_SET_B, OSD_TIMEOUT);
	  }
#endif
  
  	vSendUopCmd(UOP_REPEAT, SV_REPEAT_NONE, 0, 0);  //add by linshangbo 06.01.05
    vSendUopCmd(UOP_A_TO_B, 0, 0, 0);
  
    return UOP_OK;    
  }  
  else if ( fgIsCddaPlay() )
  {
    return ( fgCDDAA2BKey() );
  }  
  else
  {
    return (UOP_OK);
  }      

}  

static BOOL fgNonISOTitleKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDTitleKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDReturnKey());
  }
  else
  {
    return (UOP_OK);
  }      
}  

static BOOL fgNonISOMenuKey(void) large
{
#ifdef SUPPORT_BROWSER
	if(fgIsInBrowser())
	{
		vBrowserClose();
	}
#endif
  if( fgIsDvdPlay() )
  {
    return (fgDVDMenuKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDReturnKey());
  }
  else
  {
    return (UOP_OK);
  }      
}

static BOOL fgNonISOReturnKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDReturnKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDReturnKey());
  }
  else
  {
    return (UOP_OK);
  }      
}
  
static BOOL fgNonISOAudioKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDAudioKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDAudioKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAAudioKey());
  }    
  else
  {
    return (UOP_OK);
  }        
}  

static BOOL fgNonISOSpKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDSpKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDSpKey());
  }
  else if (fgIsIsoPlay())
  {
    return (fgISOSpKey());
  }
  else
  {
    return (UOP_OK);
  }        
}  

static BOOL fgNonISOAngleKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDAngleKey());
  }
  else
  {
    return (UOP_OK);
  }        
}  

static BOOL fgNonISODisplayKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDRemainKey());
  }
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDRemainKey());
  }
  else if ( fgIsCddaPlay())
  {
    return (fgCDDARemainKey());
  }    
#ifdef AUDIO_IN_EN    
  else if (fgIsAinPlay())
  {
    return (fgAINDisplayKey());
  }  
#endif  
  else
  {
    return (UOP_OK);
  }        
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -