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

📄 cckey.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
    case    KEY_SPST2_CTL:    		return CC_SPST_Change(CC_TOGGLE_SP2);    		break;     		    // DVD_101-2, add VIDEO_OUTPUT_CTL for switch normal/yuv/rgb directly   //Alex1.07a, 20031013 Support OSD SHOW PSCAN PROMPT, OSDPROMPT_ProcessKey will handle this KEY#ifndef SUPPORT_PSCAN_PROMPT_OSD    case    KEY_VIDEO_OUTPUT_CTL:            __SetupInfo.bVideoOutput++;            if (__SetupInfo.bVideoOutput > SETUP_SCREEN_VIDEO_OUTPUT_END)                __SetupInfo.bVideoOutput = SETUP_SCREEN_VIDEO_OUTPUT_BEGIN;            // DVD_104Micky. convert setup value ID            SETUP_ChangeValue(SETUP_SCREEN_VIDEO_OUTPUT);            //Brian1.06, P-SCAN is integrated into Video Output            // SETUP_ChangeValue will set __SetupInfo.bProgressiveScan according to __bSetupInfo.VideoOutput            SETUP_ChangeValue(SETUP_SCREEN_PROGRESSIVE_SCAN);            OSD_OUTPUT_MACRO(MSG_PSCAN, (WORD)NULL, 0); //CoCo1.50, send PSCAN information here to prevent the information in Display UI is not updated.            //HAL_AdjustTVMode(); // Brian.172r call SETUP_AdjustSetting instead            SETUP_AdjustSetting(SETUP_SCREEN_VIDEO_OUTPUT);            OSD_Output(MSG_VIDEO_OUTPUT, __SetupInfo.bVideoOutput, 0x3); // LLY.101-2            break;#endif // #ifndef SUPPORT_PSCAN_PROMPT_OSD    default:    // Micky0.65-909, must return INVALID_KEY;        return INVALID_KEY;}    return TRUE;}//  *****************************************************************//  Function    :   _KeyGroupOthers//  Description :   Process Video Group//  Return      :   None//  Side Effect ://  *****************************************************************BYTE    _KeyGroupOthers(BYTE bKey){    if (bKey != KEY_NO_KEY)        return INVALID_KEY;    else        return KEY_NO_KEY;}#ifdef SUPPORT_AV_INBYTE    _KeyGroupTFT(BYTE bKey)  //Jeff 20060705 Add for TFT{ if ( !_btTFT_PowerDown ) {    if (bKey == KEY_AV_IN)    {    	if ( !_btAVIN )    	{    	    _btAVIN=1;    	}    	else    	{    		_btAVIN=0;    	}        __bFWKey = KEY_POWER;        TFT_Trigger();    }	 }     return bKey;        }#endif  //#ifdef SUPPORT_AV_INBYTE    _KeyGroupPlay(BYTE bKey){#ifdef SUPPORT_NPF_TRIGGER_ONLY// LLY.0992, don't allow non-play playable macro command key in stop mode    if(__bModeCmd==KEY_STOP)    {        if( (bKey>=NONNPF_PLAYABLEKEY_BEGIN) && (bKey<=NONNPF_PLAYABLEKEY_END) )            return INVALID_KEY;    }#endif  // #ifdef SUPPORT_NPF_TRIGGER_ONLYswitch(bKey){// KEY_GROUP3, Play back Command    case    KEY_SCF:    case    KEY_SCB:    case    KEY_FREEZE:    case    KEY_STEP:    // Micky2.81, Merge KEY_STOP's action together///    case    KEY_STOP:// DVD_16a1Micky, fix repeat A-> fast-> can't repeat AB// don't allow repeat A mode change macro command to fast// now repeat ab only allow npf and slow.    case    KEY_FF:        {        extern  DWORD   _dwTimePrev;    // [UTL]        _dwTimePrev= 0xfffffff; // ** TCH1.60-1; Let Time Display can show current time.        }            // Do NOT allow REPEAT AB ->  scan/freeze/step            if (__bRepeatAB != REPEAT_NONE)            {                return  INVALID_KEY;            }            if (bKey==KEY_STEP)            {                //do NOT allow stop/scan/freeze -> step                if ( (__bModeCmd==KEY_STOP) || (__bModeCmd==KEY_FREEZE) ||                     (__bModeCmd==KEY_SCF) || (__bModeCmd==KEY_SCB) )                {                    return  INVALID_KEY;                }            }            // Only allow playing/freeze->freeze            // what about !__btPlaying            if ( __bModeCmd != KEY_FREEZE )            {                if ( bKey==KEY_FREEZE )                if ( ( __bModeCmd != KEY_PLAY ) || !__btPlaying )                {                    return  INVALID_KEY;                }            }    case    KEY_PLAY:// DVD_16a1Micky, fix repeat A-> fast-> can't repeat AB//    case    KEY_FF:    // wyc2.17-909S, add one key for language study.    case    KEY_LAN_STUDY:    case    KEY_SF:        if (__btIntroMode)        if ( (bKey != KEY_PLAY) )            return INVALID_KEY;        // wyc2.37-909s, fix mpeg-cd can slow problem.#ifdef SUPPORT_FUSS_MPEG_CD        if ((INFOFILTER_FUSSMPEGCD(IF_MODE_CHECK_MPEG_CD,0)) && (bKey == KEY_SF))            return INVALID_KEY;#endif        // wyc1.06-909, only press KEY_SF can make SLOW message active.#if (SLOW_MODE_CONFIG != NORMAL_SLOW_PLUS_LANGUAGE_STUDY)        if (bKey == KEY_SF)            __bActiveMessage = MSG_SLOW;#else        if ((bKey == KEY_SF) || (bKey == KEY_LAN_STUDY))            __bActiveMessage = MSG_SLOW;#endif //#ifndef NO_DISC_MODE //CoCo2.37p        // **** TCH0.99E-XQ, Begin...        if (__wDiscType & BOOK_DVD)        {            if( (bKey>=NONNPF_PLAYABLEKEY_BEGIN) && (bKey<=NONNPF_PLAYABLEKEY_END) )                // DVD_155Micky, check cell still and vobu still                if (CELL_QueryStatus(CELL_IS_STILL) ||                    (CELL_QueryStatus (CELL_VOBU_STILL_ON) )                    ) // DVD_100Micky, query cell still status                {                    return INVALID_KEY;                }        }        // **** TCH0.99E-XQ, end...#endif //#ifndef NO_DISC_MODE //CoCo2.37p// wyc2.17-909S, add differenr case for language study function.#if (SLOW_MODE_CONFIG == LANGUAGE_STUDY_MODE)        if (bKey == KEY_SF)        {            if ( !(__wDiscType & BOOK_DVD) && !( (__wDiscType & BOOK_VCD) && !(__wDiscType & BOOK_SVCD) && !(__wDiscType & BOOK_CVD) ) ) //for DVD/VCD only now //kevin1,10, fix SVCD freq wrong when language study                  return INVALID_KEY;                            }#elif (SLOW_MODE_CONFIG == NORMAL_SLOW_PLUS_LANGUAGE_STUDY)        if (bKey == KEY_LAN_STUDY)        {            if ( !(__wDiscType & BOOK_DVD) && !( (__wDiscType & BOOK_VCD) && !(__wDiscType & BOOK_SVCD) && !(__wDiscType & BOOK_CVD) ) ) //for DVD/VCD only now //kevin1,10, fix SVCD freq wrong when language study                  return INVALID_KEY;                            }#endif            // ** S-TCH;            if ( bKey == KEY_FF  )            {                // ** 0.17; Don't allow FF  within SCAN mode                if ( __bRepeatAB == REPEAT_AB )                    return  INVALID_KEY;            }            // DVD_160Micky, make number input mode has top priority begin            // fix VCD2.0 menu-> Program-> input number-> key_play            // move (bKey==KEY_PLAY) before PBC check            //Check trigger GOTOTIME->PLAY or PROGRAM->PLAY            if ( bKey == KEY_PLAY )            {                //KEY_PLAY will trigger PROGRAM to play                // wyc.pro , in DVD playing, NV_Trigger will enter follow code to change titles.                // So we must avoid enter follow code by not IR key operation.                // wyc1.10-909, when pause + program edit mode, we treat KEY_PLAY to exit pause mode, not edit program entries.                if ( (__btInputProgram) && ( __bKeySource == KEY_FROM_ISR ) && (__btPause == FALSE))                {                    // wyc.102 , to count the program entry number for program playing usage                    // if in playing mode and not input digit in program input menu, not affect the program playing                    // and move clear program OSD to up place                    __btInputProgram=FALSE;                    // LLY2.78b-3, support "Program Play" message#ifdef  SUPPORT_PROGRAM_PLAY_INFO                    __bKeyMessage=MSG_PROGRAM_PLAY;                    OSD_OUTPUT_MACRO(MSG_PROGRAM_PLAY, NULL_0, 0x3);#endif  // SUPPORT_PROGRAM_PLAY_INFO                    // wyc1.10-909, because when no program entries + program edit mode and press KEY_PLAY, then MM will process clear program                    // mode, so it won't need to process follow code in CC. And when MP3 pre-stop + program edit mode, then press KEY_RESUME.                    // The key will be transfer to KEY_PLAY here. So we don't do follow code to let code can do CC_Keycommand(KEY_PLAY) tyo avoid                    // KEY_RESUME in MP3 pre-stop + program edit mode -> KEY_RESUME -> Can't play problem.                    if ((__bAttrPlay & TYPE_CDROM_AUDIO) && (__bProgramMaxEntry == 0) && (__wDiscType & CDROM_M1))                    {                    }                    else                    {    					// Micky0.75, modify Program-> KEY_PLAY checking                        if ( ! __bProgramMaxEntry )                        {                            LINEAR_Program(LINEAR_PROGRAM_CLEAR,NULL_0);                            // Micky0.75, fix Program-> no input-> KEY_PLAY will show invalid.    	                    OSD_Output(MSG_PROGRAM, 0, 0);	// let display mode clear Program icon                            break;                    	}                        __btPlayingProgram = TRUE;                        OSD_Output(MSG_PROGRAM, 0, 0);	// let display mode show Program icon                        __dwTimeKey=NULL_0;    					if (__btPlaying ||__btPause )    					{    						__btNextPlayProgram = TRUE;#ifdef    PROGRAM_PLAY_DIRECT                            __bFWKey= KEY_NEXT;#endif    // PROGRAM_PLAY_DIRECT    						break;			    					}                    }                }            }   //check trigger PLAY            // DVD_160Micky, make number input mode has top priority end            // wyc2.37-909s, replace to NO_DISC_MODE#ifndef NO_DISC_MODE //++CoCo2.37p            if ( __btPBC )            {                if ( ( bKey == KEY_PLAY ) )                {                    if ( __bModeCmd == KEY_STOP )                    {                        if ( __wStatus & ID_ENDLIST )                        {                            __wStatus= NULL_0;                            __btPlaying= FALSE;                            __btPause= FALSE;// ** TCH1.61-2;                             __bModeCmd= KEY_PLAY;       //force it into play mode                            __bModeCmd= KEY_PAUSE;  // ** TCH1.61-2;  Pause is using by VCD20 Module                            VCD20_Action ( LIST_FIRST );                            break;                        }                    }                    else                    {                        // VCD20 default play function lost                        // when menu playend, __bModeCmd will change to KEY_PAUSE                        if ( (__bModeCmd == KEY_SF) || (__bModeCmd == KEY_FF) ||                            (__bModeCmd == KEY_SCB) || (__bModeCmd == KEY_SCF) ||                            (__bModeCmd == KEY_STEP) || (__bModeCmd == KEY_FREEZE) )                            //                        if (__bModeCmd!=KEY_PLAY)                        {                            //do motion switching                        }                        // Pause-> Play, taken as normal case(non-PBC)                        else if ( ! __btPause )                        {                            // Check LIST_DEFAULT is valid or not                            // Current Invalid will by-pass KEY_PLAY, don't show "INVALID"                            if ( VCD20_Action ( LIST_DEFAULT ) )                                break;                        }                    }   // ! KEY_STOP                }   // KEY_PLAY                else if (bKey != KEY_STOP)                {                    // KEY_SCF/KEY_SCB/KEY_FREEZE/KEY_STEP/KEY_FF/KEY_SF                    // only enable KEY_PLAY to trigger VCD 2.0 play                    if (!__btPlaying && !__btPause)                        return INVALID_KEY;                }            }   //__btPBC#endif //#ifndef NO_DISC_MODE //++CoCo2.37p            return CC_KeyCommand ( bKey );            break;    // Micky2.81, Merge KEY_STOP's action together    // also move in the part that are outside CC_DoKeyAction(Show LOGO and MSG_STOP)    case    KEY_STOP:        {        extern  DWORD   _dwTimePrev;    // [UTL]        _dwTimePrev= 0xfffffff; // ** TCH1.60-1; Let Time Display can show current time.        }                if (bKey==KEY_STOP)        {            // wyc1.00-909, temply not set __btPlayEnd to TRUE when VCD2.0 disc to fix VCD2.0 stop->resume but can't play problem.            if (!(__wDiscType & VCD_2_0))                __btPlayEnd=TRUE;            OSD_OUTPUT_MACRO ( MSG_SELECTIONLIST, 0xFFFF,  0 );        }#ifndef NO_DISC_MODE //CoCo2.37p        // ** TCH0.452; begin...        // One DVD-Title "Gloden Eye" from mustek.        // The play is inhibited as region-code (?),        // We can do STOP-> Play.....        // Micky2.81, only check UOP_CAN_STOP when DVD channel#ifdef  SUPPORT_AV_SYSTEM        if (__bAUXChannel == AUX_CHANNEL_DVD)#endif  //#ifdef  SUPPORT_AV_SYSTEM#ifdef PRESTOP_BEFORE_SETUP_AND_PROGRAM        if(!__bSetupMode)       //Alan2.02, if SETUP cause stop, force it enter stop mode.#endif        {            if ( ! NV_QueryUOP ( UOP_CAN_STOP ) )            {                return INVALID_KEY;            }        }#endif //#ifndef NO_DISC_MODE //CoCo2.37p// Micky2.79, tune the usage of __bCountStop,// only the process KEY_STOP will reference DOUBLE_STOP define// if DOUBLE_STOP is not defined, __bCountStop will be 2(real stop) only.#ifdef DOUBLE_STOP        if ( __bKeySource == KEY_FROM_ISR)        {            __bCountStop++;            if ( __bCountStop >= 2 )            {#ifdef SET_REPEAT_OFF_WHEN_FULL_STOP                __bRepeat = REPEAT_NONE;#endif //                __bCountStop = 2;            }            // MP3(w/o resume)/ Digest don't have pre-stop state.            if ( // Micky1.20, 4M flash#ifndef NO_DIGEST                __btDIGEST ||#endif//Micky0.66-909, don't support stop/resume, pre-stop for CDG.#ifndef NO_CDG                        		(__bCDDA_DTS == CDDA_CDG) ||#endif#ifndef SUPPORT_MP3_RESUME                (__bAttrPlay == ATTR_MP3) ||                // LLY2.13, don't assign __bCountStop = 2 while support MP3/ MP2 resume feature                // Otherwise, the action maybe fail by press KEY_RESUME                (__bAttrPlay == ATTR_MP2) ||                #endif  //#ifndef SUPPORT_MP3_RESUME//Alex1.10-2, 20031105 System will support MP2 format audio               0                )               __bCountStop = 2;        }        // some case will call DoKeyAction(KEY_STOP),such as KEY_SCB        // __bKeySource will be KEY_FROM_NONE        else if ( __bKeySource == KEY_FROM_FW )#endif  //#ifdef  DOUBLE_STOP// If DOUBLE_STOP is not defined, __bCountStop will be 2(real stop) only.        {            __bCountStop = 2;        }        // Micky2.79-2, support FullScreen function        // always clear Full screen status when stop.        __bFullScreen = 0;        // DVD_273.2, for encrpyted DVD begin        // clear the auto scan next 2 cell's command.        __bAutoScans = 0;        //must clear repeat AB and GOTO time

⌨️ 快捷键说明

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