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

📄 keyproc.c

📁 MTK 1389E SOURCE CODE
💻 C
📖 第 1 页 / 共 3 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 05/08/11 3:18p    $       ****************/
/***************  $Revision:: 21               $       ****************/
/***************                                       ****************/
/***************   Description : Play module for       ****************/
/***************                 non-disc dependant    ****************/
/***************                 key processing        ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/

#pragma NOAREGS
#include "general.h"

// *********************************************************************
// NonISO(DVD,VCD,CDDA,AUDIO_IN key function
// *********************************************************************
static BOOL fgNonISONumKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDNumKey());
  }
#ifdef VCD_SUPPORT  
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDNumKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDANumKey());
  }  
#endif  
  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);
  }
  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);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }  
}  
static BOOL fgNonISOPlayKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDPlayKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDPlayKey());
  }
#endif  
#ifndef CDDA_USE_CDFS
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAPlayKey());
  }    
#endif  
  else
  {
    //return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }  
}  
static BOOL fgNonISOPauseKey(void) large
{
  BYTE bPbcState = bSharedInfo(SI_PBC_STATE);

  // 20050428, IS00002663, if SH_PAUSE_SHOW_WB == SV_SHOW_SETUP, means going into setup, 
  // if we accept pause key, we will send UOP_Play to RISC
  if (bPbcState == SV_PAUSE && bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
    return UOP_FAIL ;

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

  if (bSharedInfo(SI_PBC_STATE) == SV_PAUSE)
  {
    // 20050428, IS00002663, set this flag so that before it really start play, we can't enter setup
    // Or we might enter setup but RISC is still playing
    //vSetSharedInfo(SH_PAUSE_SHOW_WB, SV_SHOW_SETUP) ;
    _fgSetupProhibit = TRUE ;     // 20050504, PL00000143, side effect of IS00002663. Use a flag to prohibit setup key instead
    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);
      // 20050401, CR00002256, show prohibit for non-supported keys
      return (UOP_FAIL);  
    }
#endif

    vSendUopCmd(UOP_STOP, 0, 0, 0);

    return (UOP_OK);  
  }
#ifndef CDDA_USE_CDFS
  else if (fgIsCddaPlay())
  {
    return( fgCDDAStopKey());
  }  
#endif  
  else
  {
//    return (UOP_OK);  
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }  
}  

static BOOL fgNonISONextKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDNextKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDNextKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDANextKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }    
}  

static BOOL fgNonISOPrevKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDPrevKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDPrevKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAPrevKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }    
}  

static BOOL fgNonISORepeatKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDRepeatKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDRepeatKey());
  }
#endif  
#ifndef CDDA_USE_CDFS
  else if ( fgIsCddaPlay())
  {
    return (fgCDDARepeatKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }    
}  
BOOL fgNonISOResumeKey()
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDResumeKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDResumeKey());
  }
#endif  
#ifndef CDDA_USE_CDFS
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAResumeKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  

static BOOL fgNonISOFFKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDFFKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDFFKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAFFKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  

static BOOL fgNonISOFRKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDFRKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDFRKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAFRKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  

#ifndef DISABLE_SF
static BOOL fgNonISOSFKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDSFKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDSFKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  
#endif /*#ifndef DISABLE_SF*/

#ifndef DISABLE_SR
static BOOL fgNonISOSRKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDSRKey());
  }
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  
#endif

static BOOL fgNonISOStepFKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDStepFKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDStepFKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  

static BOOL fgNonISOStepRKey(void) large
{
  if( fgIsDvdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgDVDStepRKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    // 20050428, IS00002663, if entering setup, don't accept key
    if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
      return UOP_FAIL ;
    return (fgVCDStepRKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  

static BOOL fgNonISOA2BKey(void) large
{
  BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
  
  if ( fgIsDvdPlay() || fgIsVcdPlay() )
  {
    if (!fgIsDiscPlay(bPbcState))
    {
      vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
      return (UOP_OK);
    }
  
    vSendUopCmd(UOP_A_TO_B, 0, 0, 0);
  
    return UOP_OK;    
  }  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay() )
  {
    return ( fgCDDAA2BKey() );
  }  
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      

}  

static BOOL fgNonISOTitleKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDTitleKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDReturnKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}  

static BOOL fgNonISOMenuKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDMenuKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDReturnKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}

static BOOL fgNonISOReturnKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDReturnKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDReturnKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }      
}
  
static BOOL fgNonISOAudioKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDAudioKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDAudioKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDAAudioKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }        
}  

static BOOL fgNonISOSpKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDSpKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDSpKey());
  }
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }        
}  

static BOOL fgNonISOAngleKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDAngleKey());
  }
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }        
}  

static BOOL fgNonISODisplayKey(void) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDRemainKey());
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDRemainKey());
  }
#endif  
#ifndef CDDA_USE_CDFS  
  else if ( fgIsCddaPlay())
  {
    return (fgCDDARemainKey());
  }    
#endif  
#ifdef AUDIO_IN_EN    
  else if (fgIsAinPlay())
  {
    return (fgAINDisplayKey());
  }  
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }        
}  

static BOOL fgNonISOSearchKey(BOOL fgGoto) large
{
  if( fgIsDvdPlay() )
  {
    return (fgDVDSearchKey(fgGoto));
  }
#ifdef VCD_SUPPORT
  else if ( fgIsVcdPlay() )
  {
    return (fgVCDSearchKey(fgGoto));
  }
#endif  
#ifndef CDDA_USE_CDFS
  else if ( fgIsCddaPlay())
  {
    return (fgCDDASearchKey());
  }    
#endif  
  else
  {
//    return (UOP_OK);
    // 20050401, CR00002256, show prohibit for non-supported keys
    return (UOP_FAIL);  
  }        
}  

#ifdef PLAYER_BOOKMARK
static BOOL fgNonISOMarkKey(void) large
{       
  if(bSharedInfo(SI_CMD_CNT))
  {
    return (UOP_OK);
  }	
  
  if( fgIsDvdPlay() || fgIsVcdPlay() )
  {
#if (DRAM_SZ != DRAM_2M) && !defined(USE_DRAM_CFG1)
    vChangeInputState(INPUT_STATE_BOOKMARK, FALSE);
#else	  	
      // 20050428, PL00000724, if entering bookmark or program, don't accept key again
      if (bSharedInfo(SH_PAUSE_SHOW_WB) != 0)
        return UOP_FAIL ;
    if((bSharedInfo(SI_PBC_STATE) == SV_PAUSE) || fgIsVcdCddaTrk())
    {
      if (fgIsVcdCddaTrk() ||

⌨️ 快捷键说明

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