📄 key_2_uop.c
字号:
/****************************************************************************** * Filename : UI_command.c * Start : 2002. 11. 7. * By : Taejin Kwon * Contact : tj1kwon@samsung.co.kr * Description : Create UI command and send to UI message queue * In this file, I ****************************************************************************** *//****************************************************** * INCLUDES *****************************************************/#include "Basic_typedefs.h"#include "CUSTOM/Custom_option.h"#include "OS/OS_abstract.h"#include "API/SH_types.h"#include "API/SH_api.h"#include "COMMON/Common.h"#include "MAIN/Global_state.h"#include "MAIN/Uop_msg.h"#include "MAIN/Appl_types.h"#include "DRIVER/FS/Fs_api.h"#include "CUSTOM/Osd_types.h"#include "MAIN/MMP/Mmp_predef.h" // cydrain 20060405#include "MAIN/MMP/Mmp_common.h"/****************************************************** * Global variables / functions *****************************************************//****************************************************** * Extern variables *****************************************************/extern GlobalStatus_t gMain_state;extern SysQueue_t gQ_gui;/****************************************************** * functions *****************************************************/#if _APP_CAP_NAV_GAME_CD/****************************************************************************** * Function name : UiCmdGeneral * Arguments : * Return : * By : * Description : Send command to GUI queue ****************************************************************************** */VOID UiCmdNumeric( UopId_t id , int number){ Uop_t tx; tx.uop_id = id; tx.param.btn_sel_act.button_num = number; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}#endif/****************************************************************************** * Function name : UiCmdGeneral * Arguments : UopId_t * Return : VOID * By : Taejin Kwon * Description : Send command to GUI queue ****************************************************************************** */VOID UiCmdGeneral( UopId_t id ){ Uop_t tx; tx.uop_id = id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}VOID UiBigOsd(BOOL start, BigOsd_et big_osd_type){ Uop_t tx; if ( start ) { tx.uop_id = UOP_START_BIG_OSD; tx.param.start_big_osd.big_osd_type = big_osd_type; } else { tx.uop_id = UOP_END_BIG_OSD; tx.param.end_big_osd.big_osd_type = big_osd_type; } SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}/****************************************************************************** * Function name : UiDiscChange * Arguments : * Return : VOID * By : Taejin Kwon * Description : ****************************************************************************** */#if _APP_CAP_KEY_DISC_CHANGEVOID UiDiscChange( BYTE1 param ){ Uop_t tx; tx.uop_id = UOP_DISCCHANGE; tx.param.disc_change.disk_id = param; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}#endif/****************************************************************************** * Function name : UiScanForward * Arguments : speed * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiScanForward( UopId_t uop_id, UCHAR speed ){ Uop_t tx; DiscType_t disc; disc = GetDiscState(); tx.uop_id = uop_id; switch( disc ) { case DVDV_DISC: tx.param.dvdv_forward_scan.speed = speed; break;#if _APP_CAP_NAV_DVD_AUDIO case DVDA_DISC: /*Jiangshanbin*/ tx.param.dvda_forward_scan.speed = speed; break;#endif case SVCD_DISC: case VCD_DISC: case CD_DA: case CD_I: case HQVCD_DISC: tx.param.svcd_forward_scan.speed = speed; break; case CD_DATA: case DVD_DATA: case USB_DATA: case FX_DATA: tx.param.mmp_forward_scan.speed = speed; break; default: break; } SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); }/****************************************************************************** * Function name : UiScanBackward * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiScanBackward( UopId_t uop_id, UCHAR speed ){ Uop_t tx; DiscType_t disc; disc = GetDiscState(); tx.uop_id = uop_id; switch( disc ) { case DVDV_DISC: tx.param.dvdv_backward_scan.speed = speed; break;#if _APP_CAP_NAV_DVD_AUDIO /*Jiang shanbin*/ case DVDA_DISC: tx.param.dvda_backward_scan.speed = speed; break;#endif case SVCD_DISC: case VCD_DISC: case CD_DA: case CD_I: case HQVCD_DISC: tx.param.svcd_backward_scan.speed = speed; break; case CD_DATA: case DVD_DATA: case USB_DATA: case FX_DATA: tx.param.mmp_backward_scan.speed = speed; break; default: break; } SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); }/****************************************************************************** * Function name : UiAudio * Arguments : * id : audio stream number * Return : VOID * By : Taejin Kwon * Description : Change audio stream id * Revisions : ****************************************************************************** */VOID UiAudio( UCHAR id ){ Uop_t tx; switch( GetDiscState() ) { case DVDV_DISC: tx.uop_id = UOP_DVDV_AUDIO_CHANGE; tx.param.dvdv_audio_change.audio_num = id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#if _APP_CAP_NAV_DVD_AUDIO case DVDA_DISC: tx.uop_id = UOP_DVDA_AUDIO_CHANGE; tx.param.dvda_audio_change.audio_num= id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif #if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE // cydrain 20051229 case CD_DATA: case DVD_DATA: case USB_DATA: case FX_DATA: tx.uop_id = UOP_MMP_AUDIO_CHANGE; tx.param.mmp_audio_change.audio_num= id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif default: break; }} /* <<< @: 5008CHN-XXX.Lu Shuai 050719: Modified for use LRSTEREO key*/VOID UiLrstereo( UCHAR id ){ Uop_t tx; switch( GetDiscState() ) {#if 0 /* (yanglu, 051025) */ case DVDV_DISC: tx.uop_id = UOP_DVDV_LRSTEREO_CHANGE; tx.param.dvdv_channel_change.channel_num = id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#if _APP_CAP_NAV_DVD_VIDEO case DVDA_DISC: tx.uop_id = UOP_DVDA_LRSTEREO_CHANGE; tx.param.dvda_channel_change.channel_num= id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif case SVCD_DISC: case VCD_DISC: case CD_I: case CD_DA: tx.uop_id = UOP_SVCD_LRSTEREO; tx.param.svcd_audio.channel = (S5H_Lrstereo_et)id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif #if _APP_CAP_FUNC_AUDIO_LR_IN_MMP//By QQ 050905 case CD_DATA: case DVD_DATA: case USB_DATA: case FX_DATA: tx.uop_id = UOP_MMP_LRSTERO; tx.param.audio_ch.channel = id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif /* _APP_CAP_FUNC_AUDIO_LR_IN_MMP */ default: break; }} /* >>> @: 5008CHN-XXX.Lu Shuai 050719*//****************************************************************************** * Function name : UiSubtitle * Arguments : * id : subtitle stream id * Return : VOID * By : Taejin Kwon * Description : Change subtitle stream id * Revisions : ****************************************************************************** */VOID UiSubtitle( UCHAR id, ONOFF onoff ){ Uop_t tx; switch( GetDiscState() ) { case DVDV_DISC: tx.uop_id = UOP_DVDV_SP_CHANGE; tx.param.dvdv_sp_change.sp_num = id; tx.param.dvdv_sp_change.disp_flag = onoff; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); SysPrintf("\n[UI] Change Subtitle %d", id); break;#if _APP_CAP_NAV_DVD_VIDEO case DVDA_DISC: tx.uop_id = UOP_DVDA_SP_CHANGE; tx.param.dvda_sp_change.sp_num = id; tx.param.dvda_sp_change.disp_flag = onoff; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); SysPrintf("\n[UI] Change Subtitle %d", id); break;#endif #if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE // cydrain 20051230 case CD_DATA: case DVD_DATA: case USB_DATA: case FX_DATA: tx.uop_id = UOP_MMP_SP_CHANGE; tx.param.mmp_sp_change.sp_num = id; tx.param.mmp_sp_change.disp_flag = onoff; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); SysPrintf("\n[UI] Change Subtitle %d", id); break;#endif default: break; }}/****************************************************************************** * Function name : UiAngle * Arguments : id -> angle number * Return : VOID * By : Taejin Kwon * Description : Change Angle * Revisions : ****************************************************************************** */VOID UiAngle( UCHAR id ){ Uop_t tx; switch( GetDiscState() ) { case DVDV_DISC: tx.uop_id = UOP_DVDV_ANGLE_CHANGE; tx.param.dvdv_angle_change.angle_num = id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); SysPrintf("\n[UI] Change Angle ID %d", id); break;#if _APP_CAP_NAV_DVD_VIDEO case DVDA_DISC: tx.uop_id = UOP_DVDA_ANGLE_CHANGE; tx.param.dvda_angle_change.angle_num = id; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); SysPrintf("\n[UI] Change Angle ID %d", id); break;#endif default: break; }}/****************************************************************************** * Function name : UiSelectAndActive * Arguments : * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiSelectAndActive( UCHAR btn_num ){ Uop_t tx; switch( GetDiscState() ) { case DVDV_DISC: tx.uop_id = UOP_DVDV_BTN_SEL_ACT; tx.param.dvdv_btn_sel_act.button_num = btn_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#if _APP_CAP_NAV_DVD_VIDEO case DVDA_DISC: tx.uop_id = UOP_DVDA_BTN_SEL_ACT; tx.param.dvda_btn_sel_act.button_num = btn_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif case SVCD_DISC: case VCD_DISC: case CD_DA: case CD_I: case HQVCD_DISC: tx.uop_id = UOP_SVCD_BTN_SEL_ACT; tx.param.svcd_btn_sel_act.button_num = btn_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); default: break; } }/****************************************************************************** * Function name : UiPlayModeChange * Arguments : VOID * Return : VOID * By : Yanglu * Description : * Revisions : ****************************************************************************** */VOID UiPlayModeChange( UCHAR param_pb ){ Uop_t tx; tx.uop_id = UOP_PLAYMODE_CHANGE; tx.param.playmode_change.play_mode = param_pb; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); }/****************************************************************************** * Function name : UiTitlePlay * Arguments : title_num * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiTitlePlay( UCHAR title_num ){ Uop_t tx; switch( GetDiscState() ) { case DVDV_DISC: tx.uop_id = UOP_DVDV_TITLE_PLAY; tx.param.dvdv_title_play.title_num = title_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#if _APP_CAP_NAV_DVD_VIDEO case DVDA_DISC: tx.uop_id = UOP_DVDA_TT_GR_PLAY; tx.param.dvda_tt_gr_play.tt_gr_num = title_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 ); break;#endif default: break; }}/****************************************************************************** * Function name : UiPttPlay * Arguments : ptt_num * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */ /* <<< @: 5008CHN-XXX.Liu renliang 050513: DVD:number key should work in stop/R.stop status */VOID UiPttPlay( UCHAR title_num, USHORT ptt_num ){ Uop_t tx; tx.uop_id = UOP_DVDV_PTT_PLAY; tx.param.dvdv_ptt_play.title_num = title_num; tx.param.dvdv_ptt_play.ptt_num = ptt_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}/* >>> @: 5008CHN-XXX.Liu renliang 050513 *//****************************************************************************** * Function name : UiPttSearch * Arguments : ptt_num * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiPttSearch( USHORT ptt_num ){ Uop_t tx; tx.uop_id = UOP_DVDV_PTT_SEARCH; tx.param.dvdv_ptt_search.ptt_num = ptt_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}#if _APP_CAP_KEY_QUICK_RESPONSE_NEXT_PREVVOID UiPrevNextQuick( USHORT ptt_num ){ Uop_t tx; tx.uop_id = UOP_DVDV_PREV_NEXT_QUICK; tx.param.dvdv_ptt_search.ptt_num = ptt_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}#endif#ifdef _APP_CAP_NAV_DVD_VIDEO/****************************************************************************** * Function name : UiTrackSearch * Arguments : track_num * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiTrackSearch( UCHAR track_num ){ Uop_t tx; tx.uop_id = UOP_DVDA_TRACK_SEARCH; tx.param.dvda_track_search.track_num = track_num; SysSendMsg( &gQ_gui, &tx, sizeof(Uop_t), SYS_NO_WAIT, 0 );}#endif/****************************************************************************** * Function name : UiTimeSearch * Arguments : hour, min, sec * Return : VOID * By : Taejin Kwon * Description : * Revisions : ****************************************************************************** */VOID UiTimeSearch( UCHAR hour, UCHAR min, UCHAR sec ){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -