📄 ui_input.c
字号:
if (!((MEDIA_TYPE_DVD_VIDEO == CoreAPI_GetCurrentMediaType()) && (!PCI_DECODED || SI_DVD_BUTTON_COUNT))
&& (PST_STOP != pPlayState)
&& (PST_STILL != pPlayState))
{
wUIOP = (UIOP_UP == wUIOP) ? UIOP_SLOWB : UIOP_SLOWF;
}
break;
#endif // D_USE_UP_DOWN_AS_SLOW_KEY
#ifdef D_USE_LEFT_RIGHT_AS_FAST_SCAN
case UIOP_LEFT: // Fall Through !!!
case UIOP_RIGHT:
if(NO_ZOOM != CoreAPI_GetZoomLevel())
break;
// Use Left and Right keys as Scan keys.
if(!((MEDIA_TYPE_DVD_VIDEO == CoreAPI_GetCurrentMediaType()) && (!PCI_DECODED || SI_DVD_BUTTON_COUNT))
&& (PST_STOP != pPlayState)
&& (PST_STILL != pPlayState))
{
wUIOP = (UIOP_LEFT == wUIOP) ? UIOP_FASTB : UIOP_FASTF;
}
break;
#endif // D_USE_LEFT_RIGHT_AS_FAST_SCAN
}
return wUIOP;
}
/****************************************************************************************************
* DEFINITION: Private functions
****************************************************************************************************/
/**********************************************************************************
* Name :
*
* Purpose :
*
* Input :
*
* Return Value :
*
* Description :
*
* Comments :
*
**********************************************************************************/
#pragma argsused
static UINT16 _UIOPPreInterpreter(UINT16 wUIOP)
{
return wUIOP;
}
/**********************************************************************************
* Name :
*
* Purpose :
*
* Input :
*
* Return Value :
*
* Description :
*
* Comments :
*
**********************************************************************************/
static UINT16 _MapUICC2UIOP( UINT16 wUICC)
{
UINT16 cIndex;
if ( wUICC < UICC_LAST )
{
for (cIndex = 0; cIndex < (sizeof(uicc_to_uiop_map)/sizeof(UICC_TO_UIOP_MAP)); cIndex++)
{
if (uicc_to_uiop_map[cIndex].wUICC == wUICC)
return _UIOPPreInterpreter(uicc_to_uiop_map[cIndex].wUIOP);
}
}
//wUICC out of range or not listed in uicc_to_uiop_map
dbg_printf(("Error in _MapUICC2UIOP() \n"));
return UIOP_NONE;
}
/**********************************************************************************
* Name :
*
* Purpose :
*
* Input :
*
* Return Value :
*
* Description :
*
* Comments :
*
**********************************************************************************/
BOOL UI_FindInUICCTable(UINT16 wUICC, UINT16 *pwUICCTable)
{
UINT16 wIndex;
for (wIndex = 0; pwUICCTable[wIndex] < UICC_LAST; wIndex++)
{
if ( pwUICCTable[wIndex] == wUICC )
return TRUE;
}
return FALSE;
}
/**********************************************************************************
* Name :
*
* Purpose :
*
* Input :
*
* Return Value :
*
* Description :
*
* Comments :
*
**********************************************************************************/
BOOL UI_FindInUIOPTable(UINT16 wUIOP, UINT16 *pwUIOPTable)
{
UINT16 wIndex;
for (wIndex = 0; pwUIOPTable[wIndex] < MS_OP_LAST; wIndex++)
{
if ( pwUIOPTable[wIndex] == wUIOP )
return TRUE;
}
return FALSE;
}
// <<< Ram.wang_1125_05: modify I86_AV_RECEIVER FUNCTION LIKE AS THOMSON
#ifdef D_I86_AV_RECEIVER
/**********************************************************************************
* Name :
*
* Purpose: Handle UOP_
*
* Input: None
*
* Return Value : None.
*
* Description: cycle switch the workmode.
*
* Comments :
*
**********************************************************************************/
void UI_Change_Workmode(TUNER_WORK_MODE workmode)
{
//printf("UI_Change_Workmode %d\n", workmode);
switch(workmode)
{
case DVD_WORKMODE:
ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (DVD_WORKMODE&0xFFFFL)));
//ie_send(IE_CORE_SET_NVM_WORKMODE);
ie_send( IE_CORE_CHANGE_WORKMODE);
break;
#ifdef D_TUNER_ENABLE
case RADIO_WORKMODE:
ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (RADIO_WORKMODE&0xFFFFL)));
//ie_send(IE_CORE_SET_NVM_WORKMODE);
ie_send( IE_CORE_CHANGE_WORKMODE);
break;
#endif
#ifdef D_AUDIO_IN_SUPPORT
case AV1_WORKMODE:
ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (AV1_WORKMODE&0xFFFFL)));
//ie_send(IE_CORE_SET_NVM_WORKMODE);
ie_send( IE_CORE_CHANGE_WORKMODE);
break;
case AV2_WORKMODE:
ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (AV2_WORKMODE&0xFFFFL)));
//ie_send(IE_CORE_SET_NVM_WORKMODE);
ie_send( IE_CORE_CHANGE_WORKMODE);
break;
case SPDIF_IN_WORKMODE:
ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (SPDIF_IN_WORKMODE&0xFFFFL)));
//ie_send(IE_CORE_SET_NVM_WORKMODE);
ie_send( IE_CORE_CHANGE_WORKMODE);
break;
case SPDIF_IN_WORKMODE_OPT:
ie_send_ex( IE_CORE_UPDATE_PS, (void *)((((DWORD)PS_UPDATE_TUNER_WORKMODE)<<16) + (SPDIF_IN_WORKMODE_OPT&0xFFFFL)));
//ie_send(IE_CORE_SET_NVM_WORKMODE);
ie_send( IE_CORE_CHANGE_WORKMODE);
break;
#endif
default:
break;
}
}
BOOL UI_ProcessSourceKey(UINT16 wUIOP)
{
//NOTICE!!!!!!
//if you not use all work mode, the function need make some change
//printf("_UIOPLib_Is_Source_Key \n");
if(UIOP_SOURCE == wUIOP)
{
switch(gps->TunerWorkmode)
{
case DVD_WORKMODE:
#ifdef D_TUNER_ENABLE
UI_Change_Workmode(RADIO_WORKMODE);
#else
#ifdef D_AUDIO_IN_SUPPORT
UI_Change_Workmode(AV1_WORKMODE);
#endif
#endif
break;
case RADIO_WORKMODE:
#if defined (D_AUDIO_IN_SUPPORT)
UI_Change_Workmode(AV1_WORKMODE);
#else
UI_Change_Workmode(DVD_WORKMODE);
#endif
break;
case AV1_WORKMODE:
UI_Change_Workmode(AV2_WORKMODE);
break;
case AV2_WORKMODE:
UI_Change_Workmode(SPDIF_IN_WORKMODE);
break;
case SPDIF_IN_WORKMODE:
UI_Change_Workmode(SPDIF_IN_WORKMODE_OPT);
break;
case SPDIF_IN_WORKMODE_OPT:
UI_Change_Workmode(DVD_WORKMODE);
break;
default:
break;
}
return TRUE;
}
return FALSE;
}
#ifdef D_TUNER_ENABLE
/**********************************************************************************
* Name :
*
* Purpose: Handle UOP_
*
* Input: None
*
* Return Value : None.
*
* Description:
*
* Comments :
*
**********************************************************************************/
BOOL UI_ProcessRadioKey(UINT16 InputKey)
{
if(RADIO_WORKMODE == gps->TunerWorkmode)
{
UINT8 cLoop;
for( cLoop = 0; cLoop < RADIO_UIOP_LAST; cLoop++ )
{
if ( tuner_key_to_msgparam_map[cLoop].wInputKeyCode == InputKey )
{
printf("proc ie_send_ex IE_CORE_PROC_FUNCTIONKEY\n");
ie_send_ex( IE_CORE_PROC_FUNCTIONKEY, (void *)(tuner_key_to_msgparam_map[cLoop].wUICommandCode));
return TRUE;
}
}
}
return FALSE;
}
#endif
#endif
// >>> Ram.wang_1125_05
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -