📄 keyproc.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 03/10/14 8:13p $ ****************/
/*************** $Revision:: 2 $ ****************/
/*************** ****************/
/*************** Description : Play module for ****************/
/*************** non-disc dependant ****************/
/*************** key processing ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#pragma NOAREGS
#include "general.h"
//efine DEBUG_KEY
#ifdef DEBUG_KEY
extern void DRS232LogS(char *pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif
#ifdef BBK_NEW_MENU
extern void vExitBBKMenu(void)large ;
extern void vEnterBBKMenu(void) large;
#endif
#if defined(DVD_RECEIVER)
#include "..\..\procdef.h"
#include "..\..\vardef.h"
#include "vfd\vfd.h"
#include "receiver\dvdrec.h"
#include "receiver\pt2320.h"
#endif
#ifdef MP3_AUTO_PLAY
extern BYTE xdata IsoFileCmdTimer;
#endif
#ifdef MEMORY_SCREENOFF
extern WORD xdata _bScreenDownTimer;
extern WORD xdata _bPowerDownTimer1;
extern WORD xdata _bPowerDownTimer;
extern BYTE xdata _SysStateSwitch;
#endif
extern BYTE xdata _bResetState;
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
// *********************************************************************
// NonISO(DVD,VCD,CDDA,AUDIO_IN key function
// *********************************************************************
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);
}
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);
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;
}
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 //
{
BYTE bType = bSharedInfo(SI_DISC_TYPE);
BYTE bStates = bSharedInfo(SI_PBC_STATE);
if( fgIsDvdPlay() )
{
#ifdef DEBUG_LIKE
DRS232LogS("-r1-\n");
DRS232LogB(bType,bStates,0,0); //SV_DVD_VIDEO=0
#endif
return (fgDVDMenuKey());
}
else if ( fgIsVcdPlay() )
{
#if 0//def DEBUG_LIKE
DRS232LogS("-r2-\n");
DRS232LogB(bType,bStates,0,0);
#endif
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());//MTK_guosong @04-16-04
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 defined(DVD_DECODE)
if (fgIsFuncAin())
{
_bIRKey = IR_NONE;
return (UOP_OK);
}
#endif
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);
}
}
static BOOL fgNonISOSearchKey(BOOL fgGoto) large
{
if( fgIsDvdPlay() )
{
return (fgDVDSearchKey(fgGoto));
}
else if ( fgIsVcdPlay() )
{
return (fgVCDSearchKey(fgGoto));
}
else if ( fgIsCddaPlay())
{
return (fgCDDASearchKey());
}
else
{
return (UOP_OK);
}
}
static BOOL fgNonISOMarkKey(void) large
{
if( fgIsDvdPlay() || fgIsVcdPlay() )
{
#ifdef PLAYER_BOOKMARK
vChangeInputState(INPUT_STATE_BOOKMARK, FALSE);
#endif
return (UOP_OK);
}
else if ( fgIsCddaPlay())
{
return (fgCDDAMarkKey());
}
else
{
return (UOP_OK);
}
}
static BOOL fgNonISOPbcKey(void) large
{
if ( fgIsVcdPlay() )
{
return( fgVCDPbcKey() );
}
else
{
return (UOP_OK);
}
}
static BOOL fgNonISODigestKey(void) large
{
if( fgIsDvdPlay() )
{
return (fgDVDDigestKey());
}
else if ( fgIsVcdPlay() )
{
return (fgVCDDigestKey());
}
else if ( fgIsCddaPlay())
{
return (fgCDDADigestKey());
}
else
{
return (UOP_OK);
}
}
static BOOL fgNonISOProgramKey(void) large
{
#ifdef PLAYER_PROGRAM
vChangeInputState(INPUT_STATE_PROGRAM, FALSE);
#else
vOsdShowError(SV_ERR_INVALID_OPERATION, OSD_TIMEOUT_SHORT);
#endif
return (UOP_OK);
}
static BOOL fgNonISOShuffleKey(void) large
{
BYTE bUsrCtrl = bSharedInfo(SI_USR_PBC_CTRL);
BYTE bRepeatType = bSharedInfo(SI_REPEAT_MODE);
#ifdef USR_CTRL_CANCEL_REPEAT
if ((bRepeatType != SV_REPEAT_NONE) &&
(bRepeatType != SV_REPEAT_ABNONE))
{
vSendUopCmd(UOP_REPEAT, SV_REPEAT_NONE, 0, 0);
}
#endif /* USR_CTRL_CANCEL_REPEAT */
switch (bUsrCtrl)
{
case SV_SHUFFLE:
#ifdef SHUFFLE_RANDOM_SAME_KEY
vSendUopCmd(UOP_RANDOM, SV_ON, 0, 0);
#else
vSendUopCmd(UOP_SHUFFLE, SV_OFF, 0, 0);
#endif
break;
case SV_RANDOM:
/* back to sequential play */
vSendUopCmd(UOP_RANDOM, SV_OFF, 0, 0);
break;
default:
vSendUopCmd(UOP_SHUFFLE, SV_ON, 0, 0);
break;
} /* switch (bUsrCtrl) */
return (UOP_OK);
}
#ifdef PLAYER_VRMT
static BOOL fgNonISOVremoteKey(void) large
{
#if defined(DVD_DECODE)
if (fgIsFuncAin())
{
_bIRKey = IR_NONE;
return (UOP_OK);
}
#endif
if( fgIsDvdPlay() )
{
return (fgDVDVremoteKey());
}
else if ( fgIsVcdPlay() )
{
return (fgVCDVremoteKey());
}
else
{
return (UOP_FAIL); //BillDen
}
}
#endif
#ifdef MEMORY_SUPPORT
static BOOL fgNonISOMemoryKey(void) large
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -