📄 psl_process_user_input.cpp
字号:
else if (PslScreenLayoutIsStatusDisplayActive(pPSL) == TRUE)
{
/* Send command to status display to be processed */
if (PslProcessKeyStatusDisplayLeft(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputLeft: Failure sending command to status display\n"));
return (PSL_FAILURE);
}
}
else
{
/* Send command to the nav to be processed */
if (PslExternalSendNavCommand(PSL_USER_CMD_LEFT, ulInfo) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputLeft: Failure sending command to nav\n"));
return (PSL_FAILURE);
}
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessUserInputRight -- Process the right command
*
* @param
* pPSL - handle to internal PSL data
* ulInfo - info param with the command
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessUserInputRight(PSL_HANDLE *pPSL, ULONG ulInfo)
{
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessUserInputRight: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputRight: Invalid psl handle\n"));
return (PSL_NULL_POINTER);
}
/* If standby is on, do not process the user input */
if (PslExternalGetNavStatus() != (ULONG)PSL_STATUS_STANDBY)
{
/*
* If an OSD menu is active, send command to process key module.
* Otherwise send it to the navigator.
*/
if (PslScreenLayoutIsParentalControlActive(pPSL) == TRUE)
{
/* Send command to parental control to be processed */
if (PslProcessKeyParentalControlRight(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputDigit: Failure sending command to parental control\n"));
return (PSL_FAILURE);
}
}
else if (PslScreenLayoutIsSetupMenuActive(pPSL) == TRUE)
{
/* Send command to setup menu to be processed */
if (PslProcessKeySetupMenuRight(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputRight: Failure sending command to setup menu\n"));
return (PSL_FAILURE);
}
}
else if (PslScreenLayoutIsStatusMenuActive(pPSL) == TRUE)
{
/* Send command to status display to be processed */
if (PslProcessKeyStatusMenuRight(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputRight: Failure sending command to status menu\n"));
return (PSL_FAILURE);
}
}
else if (PslScreenLayoutIsStatusDisplayActive(pPSL) == TRUE)
{
/* Send command to status display to be processed */
if (PslProcessKeyStatusDisplayRight(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputRight: Failure sending command to status display\n"));
return (PSL_FAILURE);
}
}
else
{
/* Send command to the nav to be processed */
if (PslExternalSendNavCommand(PSL_USER_CMD_RIGHT, ulInfo) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputRight: Failure sending command to nav\n"));
return (PSL_FAILURE);
}
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessUserInputSelect -- Process the select command
*
* @param
* pPSL - handle to internal PSL data
* ulInfo - info param with the command
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessUserInputSelect(PSL_HANDLE *pPSL, ULONG ulInfo)
{
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessUserInputSelect: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSelect: Invalid psl handle\n"));
return (PSL_NULL_POINTER);
}
/* If standby is on, do not process the user input */
if (PslExternalGetNavStatus() != (ULONG)PSL_STATUS_STANDBY)
{
/*
* If an OSD menu is active, send command to process key module.
* Otherwise send it to the navigator.
*/
if (PslScreenLayoutIsParentalControlActive(pPSL) == TRUE)
{
/* Send command to parental control to be processed */
if (PslProcessKeyParentalControlSelect(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputDigit: Failure sending command to parental control\n"));
return (PSL_FAILURE);
}
}
else if (PslScreenLayoutIsSetupMenuActive(pPSL) == TRUE)
{
/* Send command to setup menu to be processed */
if (PslProcessKeySetupMenuSelect(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSelect: Failure sending command to setup menu\n"));
return (PSL_FAILURE);
}
}
else if (PslScreenLayoutIsStatusMenuActive(pPSL) == TRUE)
{
/* Send command to status display to be processed */
if (PslProcessKeyStatusMenuSelect(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSelect: Failure sending command to status menu\n"));
return (PSL_FAILURE);
}
}
else if (PslScreenLayoutIsStatusDisplayActive(pPSL) == TRUE)
{
/* Send command to status display to be processed */
if (PslProcessKeyStatusDisplaySelect(pPSL) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSelect: Failure sending command to status display\n"));
return (PSL_FAILURE);
}
}
else
{
/* Send command to the nav to be processed */
if (PslExternalSendNavCommand(PSL_USER_CMD_SELECT, ulInfo) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSelect: Failure sending command to nav\n"));
return (PSL_FAILURE);
}
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessUserInputSkipFwd -- Process the next chapter command
*
* @param
* pPSL - handle to internal PSL data
* ulInfo - info param with the command
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessUserInputSkipFwd(PSL_HANDLE *pPSL, ULONG ulInfo)
{
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessUserInputSkipFwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSkipFwd: Invalid psl handle\n"));
return (PSL_NULL_POINTER);
}
/* If standby is on, do not process the user input */
if (PslExternalGetNavStatus() != (ULONG)PSL_STATUS_STANDBY)
{
/* If parental control is active, do not process command */
if (PslScreenLayoutIsParentalControlActive(pPSL) == FALSE)
{
/* If setup menu is active, do not process the command */
if (PslScreenLayoutIsSetupMenuActive(pPSL) == FALSE)
{
/* Send command to the nav to be processed */
if (PslExternalSendNavCommand(PSL_USER_CMD_SKIP_NEXT, ulInfo) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSkipFwd: Failure sending command to nav\n"));
return (PSL_FAILURE);
}
}
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessUserInputSkipBwd -- Process the previous chapter command
*
* @param
* pPSL - handle to internal PSL data
* ulInfo - info param with the command
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessUserInputSkipBwd(PSL_HANDLE *pPSL, ULONG ulInfo)
{
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessUserInputSkipBwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSkipBwd: Invalid psl handle\n"));
return (PSL_NULL_POINTER);
}
/* If standby is on, do not process the user input */
if (PslExternalGetNavStatus() != (ULONG)PSL_STATUS_STANDBY)
{
/* If parental control is active, do not process command */
if (PslScreenLayoutIsParentalControlActive(pPSL) == FALSE)
{
/* If setup menu is active, do not process the command */
if (PslScreenLayoutIsSetupMenuActive(pPSL) == FALSE)
{
/* Send command to the nav to be processed */
if (PslExternalSendNavCommand(PSL_USER_CMD_SKIP_PREV, ulInfo) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputSkipBwd: Failure sending command to nav\n"));
return (PSL_FAILURE);
}
}
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessUserInputFastFwd -- Process the fast forward command
*
* @param
* pPSL - handle to internal PSL data
* ulInfo - info param with the command
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessUserInputFastFwd(PSL_HANDLE *pPSL, ULONG ulInfo)
{
ULONG ulRate;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessUserInputFastFwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputFastFwd: Invalid psl handle\n"));
return (PSL_NULL_POINTER);
}
/* If standby is on, do not process the user input */
if (PslExternalGetNavStatus() != (ULONG)PSL_STATUS_STANDBY)
{
/* If parental control is active, do not process command */
if (PslScreenLayoutIsParentalControlActive(pPSL) == FALSE)
{
/* If setup menu is active, do not process the command */
if (PslScreenLayoutIsSetupMenuActive(pPSL) == FALSE)
{
/* Get the current play rate */
ulRate = PslExternalGetPlayRate();
if (ulRate == (1000 * 2) )
{
/* Change rate from 2x to 4x */
ulRate = 1000 * 4;
}
else if (ulRate == (1000 * 4) )
{
/* Change rate from 4x to 16x */
ulRate = 1000 * 16;
}
else
{
/* Set rate to 2x */
ulRate = 1000 * 2;
}
/* Send command to the nav to be processed */
if (PslExternalSendNavCommand(PSL_USER_CMD_FWD_PLAY, ulRate) != PSL_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputFastFwd: Failure sending command to nav\n"));
return (PSL_FAILURE);
}
}
}
}
return (PSL_SUCCESS);
}
/**
* PslProcessUserInputFastRwd -- Process the fast rewind command
*
* @param
* pPSL - handle to internal PSL data
* ulInfo - info param with the command
*
* @retval
* PSL_SUCCESS if successful
* PSL_FAILURE if not successful
*/
PSL_STATUS PslProcessUserInputFastRwd(PSL_HANDLE *pPSL, ULONG ulInfo)
{
ULONG ulRate;
DBGPRINT(DBG_ON(DBG_TRACE), ("PslProcessUserInputFastRwd: ENTER\n"));
if (pPSL == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslProcessUserInputFastRwd: Invalid psl handle\n"));
return (PSL_NULL_POINTER);
}
/* If standby is on, do not process the user input */
if (PslExternalGetNavStatus() != (ULONG)PSL_STATUS_STANDBY)
{
/* If parental control is active, do not process command */
if (PslScreenLayoutIsParentalControlActive(pPSL) == FALSE)
{
/* If setup menu is active, do not process the command */
if (PslScreenLayoutIsSetupMenuActive(pPSL) == FALSE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -