📄 keyproc.c
字号:
/**********************************************************************/
/*************** 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 + -