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

📄 cckey.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
        }            // ** TCH0.60-1; begin...         // below code is for PBC ON mode.        if ( !__btPBC )                 return FALSE;    // these codes almost same as _CC_DVD_PreProcessKey ??    if ( ( __bKey == KEY_PLAY_PAUSE ) || (__bKey == KEY_PLAY) )    {        if ( VCD20_IsValid_Command ( LIST_DEFAULT ) )        {            // let non-NPF-> play has top priority            if ( __bModeCmd != KEY_PLAY || __btPause )            {                __bKey = KEY_PLAY;            }            else    // act as confirm key            {                __bKey = KEY_DEFAULT;            }            return TRUE;        }        return FALSE;    }    return FALSE;}*///  **************************************************************************//  Function    :   CC_VCD_ProcessKey()//  Description :   Process VCD2.0 related KEY//  Arguments   :   bKey//  Return      :   None//  Side Effect :   //  **************************************************************************#ifndef NO_DISC_MODE //++CoCo2.37p// Micky0.80, remove parameterBYTE    CC_VCD_ProcessKey(void)//BYTE bKey){    if ( !( __wDiscType & VCD_2_0 ) )        return KEY_BYPASS;  // Micky0.80, return new status        //return bKey;    if ( !__btPBC && (__bKey != KEY_PBC) && (__bKey != KEY_MENU) )        return KEY_BYPASS;  // Micky0.80, return new status//        return bKey;// Micky0.77, just return the same key when program input mode.#ifdef FORCE_SWITCH_NONPBC	if( __btInputProgram )        return KEY_BYPASS;  // Micky0.80, return new status//		return bKey;#endif        // Micky0.80, move from CC_PreProcessKeyif ( __bKeySource == KEY_FROM_ISR )    { // these codes almost same as _CC_DVD_PreProcessKey ??    if ( ( __bKey == KEY_PLAY_PAUSE ) || (__bKey == KEY_PLAY) )    {        if ( VCD20_IsValid_Command ( LIST_DEFAULT ) )        {            // Micky0.80, always show PLAY.            _CC_MapKeyMessage(KEY_PLAY);            // let non-NPF-> play has top priority            if ( __bModeCmd != KEY_PLAY || __btPause )            {                __bKey = KEY_PLAY;                return KEY_TODO;            }            else    // act as confirm key            {                __bKey = KEY_DEFAULT;            }        }        else            return KEY_BYPASS;    }                    // only enable KEY_PLAY to trigger VCD 2.0 play    if ( ( __bKey >= NONNPF_PLAYABLEKEY_BEGIN ) && ( __bKey <= NONNPF_PLAYABLEKEY_END ) )    {        if (__bModeCmd == KEY_STOP )            return INVALID_KEY;    }}    switch(__bKey)    {        case    KEY_PLAY:            if ( __bModeCmd == KEY_STOP )            {                if ( __wStatus & ID_ENDLIST )                {                    __wStatus= NULL_0;                    __btPlaying= FALSE;                    __btPause= FALSE;                    __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) )                {                    //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;                }                return KEY_BYPASS;  // Micky0.80, return new status//                return bKey;            }            break;        case    KEY_DEFAULT:            if ( __wStatus != ID_ENDLIST )            {                if ( VCD20_Action ( LIST_DEFAULT ) )                    break;            }            return INVALID_KEY;            break;        case    KEY_MENU:        case    KEY_PBC:        CC_KeyCommand ( KEY_STOP );#ifndef NO_DISC_MODE //++CoCo2.37p        if ( __btPBC )        {            __btPBC= FALSE;            OSD_OUTPUT_MACRO(MSG_PBC, FALSE, 3);            __wStatus= NULL_0;            // clear the record to normal PBC value            __wPlayItem= __wTrackBegin; // from first Track#ifdef    AUTO_PLAY            CC_KeyCommand ( KEY_PLAY );#else			// Micky0.65-909.             UTL_ShowLogo();			SrcFilter_Stop(__dwSFStreamID);#endif    // AUTO_PLAY        }        else#endif //#ifndef NO_DISC_MODE //++CoCo2.37p        {            __dwResumeTime=NULL_0;            //CC_KeyCommand ( KEY_STOP );            UTL_ModeInitial ( MODE_PBC );            // DVD_101bMicky, show the PBC OSD after mode initial            // or Program->PBC has problem.            // OSD need adjust.            OSD_OUTPUT_MACRO(MSG_PBC, TRUE, 3);#ifdef    AUTO_PLAY            __wStatus= NULL_0;            VCD20_Action ( LIST_FIRST );#else            //wait user input key            __wStatus= ID_ENDLIST;			// Micky0.65-909.             UTL_ShowLogo();			SrcFilter_Stop(__dwSFStreamID);#endif    // AUTO_PLAY        }            break;        case    KEY_STOP_RETURN://-------------------------------------------------------------------// :: Composite KEY_STOP_RETURN, KEY_STOP/ KEY_RETURN// :: Act as KEY_RETURN//      - PBC has return list// :: Act as KEY_STOP//      - Exclusive with above cases            if ( !VCD20_IsValid_Command ( LIST_RETURN ) )            {                __bKey = KEY_STOP;                return KEY_BYPASS;  // Micky0.80, return new status//                return KEY_STOP;            }        case    KEY_RETURN:             {                if ( __wStatus != ID_ENDLIST )                {                    //It's ok to clear __wStatus, because VCD20_Trigger retrun value                    //will set __wStatus again                    __wStatus=NULL_0;                    VCD20_Action ( LIST_RETURN );                }                     else                    return  INVALID_KEY;            }            break;// Micky0.62-909, process number key    case    KEY_NUMBER:#ifdef  AUTO_PBCOFF        if (__bModeCmd == KEY_STOP )    // number key will switch PBC off        {             if (CC_NumberUtility(NUMBER_SET_INPUT)) // number is not decided                return KEY_NO_KEY;            __btPBC=FALSE;            OSD_OUTPUT_MACRO(MSG_PBC, FALSE, 0);            __bKey = KEY_NUMBER;            return KEY_TODO;  // Micky0.80, return new status//            return KEY_NUMBER;        }#endif  //#ifdef  AUTO_PBCOFF                if (CC_NumberUtility(NUMBER_SET_INPUT)) // number is not decided            return KEY_NO_KEY;        // Micky0.72, check the return value        if ( VCD20_KeyNumber((WORD)__dwNumberPrevious) == TRUE )    	{          	// Micky0.72, number action is done. clear display number	        OSD_OUTPUT_MACRO(MSG_NUMBER, (WORD)__dwNumberPrevious, 1);      	}        else    	{            OSD_OUTPUT_MACRO ( MSG_INVALID, OSD_ERR_KEY, 1 );    	}        CC_NumberUtility(NUMBER_CLEAR);        return KEY_NO_KEY;        break;                  default:            return KEY_BYPASS;  // Micky0.80, return new status//            return bKey;    }    return KEY_NO_KEY;}#endif //#ifndef NO_DISC_MODE //++CoCo2.37p//  **************************************************************************//  Function    :   CC_DVD_ProcessKey()//  Description :   Do the DVD title related KEY processing//  Arguments   :   bKey//  Return      :   None//  Side Effect :   //  **************************************************************************// Micky0.80, remove parameter#ifndef NO_DISC_MODE //CoCo2.37pBYTE    CC_DVD_ProcessKey(void)//BYTE bKey){    // non-DVD, just return the key value    if ( !( __wDiscType & BOOK_DVD ) )        return KEY_BYPASS;  // Micky0.80, return new status//        return bKey;    // Micky0.80if ( __bKeySource == KEY_FROM_ISR )    {//-------------------------------------------------------------------// :: Release DVD still// DVD_161Micky, add general keys for releasing CELL still/ VOBU still// don't enter pause state for these modes// make sure the keys defined within _bReleaseStillKeys// won't return earlier than the checking for release still.        if ( _CC_ReleaseStillTrigger() == KEY_ACCEPT)        {            return KEY_NO_KEY;        }// DVD has buttons. (SUPPORT_KEY_PLAY_AS_KEY_ACTIVE)// when KEY_PLAY is shared use with active// the rule is to active button first#ifdef  SUPPORT_KEY_PLAY_AS_KEY_ACTIVE    if ( (__bKey == KEY_PLAY_PAUSE) || (__bKey == KEY_PLAY) )    {        if ( NV_Action(ACTION_ACTIVE_CHECK, NULL_0) )        {            // Fix Title menu(motion w/ buttons)-> pause-> KEY_PLAY will hang.                        // HolySound(travel around the world-8, -3)                // let non-NPF-> play has top priority            // i.e. Button active only when normal playing            if ( __bModeCmd != KEY_PLAY || __btPause )            {                __bKey = KEY_PLAY;                _CC_MapKeyMessage(__bKey);                return KEY_TODO;            }            else    // act as confirm key            {                __bKey = KEY_ACTIVE;                _CC_MapKeyMessage(__bKey);            }        }        else            return KEY_BYPASS;    }#endif  //#ifdef  SUPPORT_KEY_PLAY_AS_KEY_ACTIVE// :: Shared Keys(DVD only)//      - KEY_DIGEST---> KEY_TITLE//      - KEY_AUDIO_LR--->KEY_AST_CTL#ifdef NO_DVDDIGEST        if ( __bKey == KEY_DIGEST )        {            __bKey = KEY_TITLE;        }#endif  //#ifdef NO_DVDDIGEST    #ifdef  KEY_AUDIO_LR_SAME_KEY_AST_CTL        if ( __bKey == KEY_AUDIO_LR )        {            // Micky0.80, let main flow process it.            __bKey = KEY_AST_CTL;            // Micky0.85, fix multi-audio can't switch            return KEY_TODO;                    }#endif  //#ifdef  KEY_AUDIO_LR_SAME_KEY_AST_CTL   if ( __bKey == KEY_NEXT )    {        if ( __bModeCmd == KEY_STOP )        {#ifdef   SUPPORT_NEXT_TRIGGER_FROM_STOP                   // ** TCH1.72;            // Suppose it play from first Track            __bKey=KEY_PLAY;            // Micky0.80, assign __bKeyMessage            _CC_MapKeyMessage(__bKey);            return KEY_TODO;#endif  //#ifdef   SUPPORT_NEXT_TRIGGER_FROM_STOP                   // ** TCH1.72;        }    }}        switch ( __bKey ){    case    KEY_ENTER:        case    KEY_ACTIVE:#ifdef SUPPORT_PRINTF            PRINTF ( " * DVD Button Active;" );#endif  //#ifdef SUPPORT_PRINTF            __bTemp= NV_Action ( ACTION_ACTIVE, NULL_0 );            if ( ! __bTemp )                return  INVALID_KEY;            break;    case    KEY_PBC:    // PlayBack Control switch            __bNVPlayMode= ! __bNVPlayMode;            //Aron1.11-909, constrained repeat, disable repeat mode when switch PBC ON/OFF            __bRepeat= REPEAT_NONE;                        OSD_OUTPUT_MACRO(MSG_REPEAT, __bRepeat, 0 );            // wyc.pro , in DVD title, going to NV mode must clear program variables and then goto NV playing when press KEY_PBC            if (__bNVPlayMode)                UTL_ModeInitial ( MODE_LINEAR );            OSD_OUTPUT_MACRO ( MSG_PBC, __bNVPlayMode, 3 );            if ( ! __bNVPlayMode )            {                if ( __bDomain != TT_DOM )                    NV_TitlePlay ( 1, 1 );            }            break;    case    KEY_NEXT:    case    KEY_PREV:            if ( __bKey == KEY_NEXT )                __bTemp= ACTION_NEXT;            else                __bTemp= ACTION_PREV;            // ** TCH1.03; begin... move from below. Done before call NV_Action.            // ** TCH1.00; begin... Enhance the XQ request. Push KEY_NEXT will clear REPEAT_CHAPTER only            if ( __bKeySource == KEY_FROM_ISR )    // KEY_FROM_FW            {                if ( __bDomain & TT_DOM )                {#ifdef FORCE_SET_REPEAT_MODE_AFTER_REAL_NEXTPREV                    if ( __bRepeat == (REPEAT_CHAPTER) )                    {                        __bRepeat= REPEAT_NONE;                        OSD_OUTPUT_MACRO(MSG_REPEAT, __bRepeat, 0 );                    }   // Only clear REPEAT_CHAPTER#endif  // FORCE_SET_REPEAT_MODE_AFTER_REAL_NEXTPREV                }   // if ( __bDomain & TT_DOM )                if(__bSearchMode != SEARCH_MODE_OFF)                {                    // Micky0.62-909                    OSD_Remo

⌨️ 快捷键说明

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