INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray)
INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray)
{
UINT32 key = evt;
if(IN_RANGE_EVENT(key, NVTEVT_KEY_STATUS_START, NVTEVT_KEY_STATUS_END)) //Status class
{
__FUNC_TRACK__;
System_ResetDetCloseLenCount();
System_ResetPowerSaveCount();
#if (STATUSKEY_FUNCTION == ENABLE)
DBG_IND("^Bgroup key event=0x%x\r\n", key);
if(g_bConsumeStatus)
{
g_bConsumeStatus = 0;
}
else
{
UINT32 uiDscMode = Input_Key2Mode(key);
DBG_IND("^YDscMode=0x%x\r\n", uiDscMode);
//FlowMode_OnKeyMode(uiDscMode);
UI_Switch_DscMode(uiDscMode,DSCMODE_SWITCH_FORCE,DSCMODE_SWITCHDIR_DONT_CARE);
}
#endif
return NVTEVT_CONSUME;
}
else if(IN_RANGE_EVENT(key, NVTEVT_KEY_BUTTON_START, NVTEVT_KEY_BUTTON_END)) //Button class
{
//__FUNC_TRACK__;
if(IN_RANGE_EVENT(key, NVTEVT_KEY_PRESS_START, NVTEVT_KEY_PRESS_END)) //Press key
{
__FUNC_TRACK__; //ÁÁÆÁ
if(key == NVTEVT_KEY_POWER)
{
return NVTEVT_CONSUME;
}
System_ResetDetCloseLenCount();
if(GxPower_GetControl(GXPWR_CTRL_SLEEP_LEVEL) > 1) // drop key if sleep level > 1
{
__FUNC_TRACK__;
//NOTE! do not set GXPWR_CTRL_SLEEP_RESET before get GXPWR_CTRL_SLEEP_LEVEL,
// because GXPWR_CTRL_SLEEP_LEVEL status maybe alter by sleep wakeup flow~
System_ResetPowerSaveCount();
return NVTEVT_CONSUME;
}
else
{
System_ResetPowerSaveCount();
if (m_uiAnyKeyUnlockEn)
{
Ux_PostEvent(NVTEVT_KEY_PRESS_START, 1, key);
return NVTEVT_CONSUME;
}
return NVTEVT_PASS;
}
}
else if(IN_RANGE_EVENT(key, NVTEVT_KEY_CONTINUE_START, NVTEVT_KEY_CONTINUE_END)) //Contine key
{
switch(key) {
//case NVTEVT_KEY_CUSTOM1_CONT:
case NVTEVT_KEY_POWER_CONT:
CheckSetLongKeyFlag();//++
{
__FUNC_TRACK__;
if( Input_GetLongKeyFlag() )
{
__FUNC_TRACK__;
//if(FALSE == MovRec_IsRecording())
{
//²»ÐèÒª¼ì²â°´¼ü¹Ø±ÕÖ®ºó£¬USB½ÓÈëÖØÆô
PowerOffCheckUSB = TRUE;
__POWEROFF_TRACK__;
System_PowerOff(SYS_POWEROFF_NORMAL);
return NVTEVT_CONSUME;
}
}
}
break;
#if(EAE_LOGO==ENABLE)
case NVTEVT_KEY_DOWN_CONT:
CheckSetLongKeyFlag();//++
{
__FUNC_TRACK__;
if( Input_GetLongKeyFlag() )
{
__FUNC_TRACK__;
if((UI_GetData(FL_MOVIE_AUTO_PARKING_MODE) != 0)&&(SysGetFlag(FL_MOVIE_TIMELAPSE_REC)==MOVIE_TIMELAPSEREC_OFF))
//if(UI_GetData(FL_MOVIE_AUTO_PARKING_MODE) != 0)
{
if(get_parking_mode_flag())
app_exit_eae_parking_mode();
else
app_enter_eae_parking_mode();
}
}
}
break;
#endif
#if 0
//case NVTEVT_KEY_SHUTTER1_CONT:
case NVTEVT_KEY_MENU_CONT:
__FUNC_TRACK__;
CheckSetLongKeyFlag();//++
if(1)//FALSE == get_ignore_mode_press())
{
__FUNC_TRACK__;
if(Input_GetLongKeyFlag() && (FALSE == GetLongSetupWifi()))
{
__FUNC_TRACK__;
debug_msg("========= FL_ModeIndex: %d \r\n", UI_GetData(FL_ModeIndex));
if(UI_GetData(FL_ModeIndex) == DSC_MODE_MOVIE) {
//if(!MovRec_IsRecording())
{
debug_msg("========= gMovData.State : %d \r\n", gMovData.State );
if(gMovData.State == MOV_ST_VIEW)
{
g_bRecordLock = FALSE;
SetLongSetupWifi( TRUE );
UIFlowWndMovie_SetupWifi();
}
}
}
else if(UI_GetData(FL_ModeIndex) < DSC_MODE_MOVIE)
{
debug_msg("========= gPhotoData.State : %d \r\n", gPhotoData.State );
if(gPhotoData.State == PHOTO_ST_VIEW)
{
g_bRecordLock = FALSE;
SetLongSetupWifi( TRUE );
UIFlowWndMovie_SetupWifi();
}
}
else
{
}
return NVTEVT_PASS;//NVTEVT_CONSUME;
}
}
else
{
__FUNC_TRACK__;
return NVTEVT_PASS;//NVTEVT_CONSUME;
}
break;
#endif
#if 0
case NVTEVT_KEY_POWER_CONT:
return NVTEVT_CONSUME;
case NVTEVT_KEY_MODE_CONT:
CheckSetLongKeyShutter1Flag();//++
{
__FUNC_TRACK__;
if(Input_GetLongKeyShutter1Flag())
{
__FUNC_TRACK__;
SetLongShutter1KeyFlag(TRUE);
}
}
return NVTEVT_CONSUME;
break;
#endif
}
System_ResetDetCloseLenCount();
System_ResetPowerSaveCount();
return NVTEVT_PASS;
}
else if(IN_RANGE_EVENT(key, NVTEVT_KEY_RELEASE_START, NVTEVT_KEY_RELEASE_END)) //Release key
{
__FUNC_TRACK__; //Ï¢ÆÁ´òÓ¡
set_ignore_mode_press( FALSE );
ClearKeyHoldCount();
ClearKeyShutter1HoldCount();
SetLongShutter1KeyFlag( FALSE );
if(key == NVTEVT_KEY_POWER_REL)
{
System_ResetDetCloseLenCount();
if(GxPower_GetControl(GXPWR_CTRL_SLEEP_LEVEL) > 1) // drop key if sleep level > 1
{
//NOTE! do not set GXPWR_CTRL_SLEEP_RESET before get GXPWR_CTRL_SLEEP_LEVEL,
// because GXPWR_CTRL_SLEEP_LEVEL status maybe alter by sleep wakeup flow~
System_ResetPowerSaveCount();
}
else
{
//debug_msg("==========power_times : %d \r\n", power_times);
{
//#NT#2016/03/07#KCHong -begin
//#NT#Low power timelapse function
#if (TIMELAPSE_LPR_FUNCTION == ENABLE)
MovieTLLPR_Process(TIMELAPSE_FROM_PWRKEY);
#endif
//#NT#2016/03/07#KCHong -end
//System_PowerOff(SYS_POWEROFF_NORMAL);
}
}
return NVTEVT_CONSUME;
}
System_ResetDetCloseLenCount();
System_ResetPowerSaveCount();
return NVTEVT_PASS;
}
}
return NVTEVT_PASS;
}
INT32 System_UserKeyFilter(NVTEVT evt, UINT32 paramNum, UINT32 *paramArray)的更多相关文章
- C#中int short Int16 Int32 Int64区别
Java中没有Int32,Int64,,java中只有int,short,long Java中int就代表Int32 ,short就代表Int16,long就代表Int64 首先,几个基本的关键字: ...
- Bluedroid: 蓝牙协议栈源码剖析
一. 基础知识介绍 1.缩略语 BTIF: Bluetooth Interface BTU : Bluetooth Upper Layer BTM: Bluetooth Manager BTE: Bl ...
- asp.net webForm也可以这样用Ajax -- My Ajax Framework [全屏看文]
对于asp.net WebForm项目,进行Ajax操作大概有三种方式:web服务(.asmx文件) , 一般处理程序(.ashx)和 一些Ajax控件. 对于.net提供的ajax控件,暂且不 ...
- 一种简单,轻量,灵活的C#对象转Json对象的方案
简单,是因为只有一个类 轻量,是因为整个类代码只有300行 灵活,是因为扩展方式只需要继承重写某个方法即可 补充:修正无法处理可空值类型的bug 首先我将这个类称之为JsonBuilder,我希望它以 ...
- c#文件操作
1.创建文件夹 //using System.IO; Directory.CreateDirectory(%%1); 2.创建文件 //using System.IO; File.Create(% ...
- 开源组件ExcelReport 1.5.2 使用手册
ExcelReport是一款基于NPOI开发的报表引擎组件.它基于关注点分离的理念,将数据与样式.格式分离.让模板承载样式.格式等NPOI不怎么擅长且实现繁琐的信息,结合NPOI对数据的处理的优点将E ...
- C#微信公众号开发系列教程三(消息体签名及加解密)
http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...
- Go语言程序设计(1)--基本语法
第一个程序 package main import "fmt" func main() { fmt.Printf("Hello world") } 通过阅读这个 ...
- CefSharp初识--把网页移到桌面
在开发中我们可曾有过这样的需求,将某个网页嵌入到.Net应用中来,但Winform自带的web browser不怎么理想.CefSharp可以让我们在.Net应用中嵌入一个Chromium.它提供了W ...
随机推荐
- bzoj3612 [Heoi2014]平衡——整数划分
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3612 看了好久才弄清楚题意... 原来整数划分就是这样的啊:https://blog.csd ...
- jquery easyui-datagrid手动增加删除重置行
1.实现的效果图如下 2.界面: <div region="center"> <table id="tt"> ...
- 【废弃】【WIP】JavaScript Object
创建: 2017/11/03 废弃: 2019/02/19 重构此篇.原文归入废弃 增加[废弃中]标签与总体任务 结束: 2019/03/03 完成废弃, 删除[废弃中]标签, 添加[废弃]标签 T ...
- E20170526-hm
plain n. 平原; 平地; adj. 平的; 素的; 清晰的; 相貌平平的; layout n. 布局,安排,设计; 布置图,规划图; modularity n. 模块化; 模块性 ...
- bzoj 1630: [Usaco2007 Demo]Ant Counting【dp】
满脑子组合数学,根本没想到dp 设f[i][j]为前i只蚂蚁,选出j只的方案数,初始状态为f[0][0]=1 转移为 \[ f[i][j]=\sum_{k=0}^{a[i]}f[i-1][j-k] \ ...
- (数论)51NOD 1079 中国剩余定理
一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % 2 = 1, K % 3 = 2, K % 5 = 3.符合条件的最小的K = 23. Input 第1行:1个数 ...
- 源码阅读之LinkedHashMap(JDK8)
概述 LinkedHashMap继承自HashMap,实现了Map<K,V>接口.其内部还维护了一个双向链表,在每次插入数据,或者访问.修改数据时,会增加节点.或调整链表的节点顺序.以决定 ...
- moiezen
这题是个随机化+二分裸题--------考场上居然没有想出来--想的出来就怪了吧 我们随机一下增加x的顺序,然后进行二分之前,看看这个x加完之后能不能更新答案,不能就不二分了.具题解所说,这个复杂度是 ...
- xshell、xftp最新版下载方法
https://www.netsarang.com/download/main.html 登录邮箱打开第一个下载地址进行下载
- Lightoj 1020 - A Childhood Game (博弈)
题目链接: 1020 - A Childhood Game 题目描述: Alice和Bob在玩弹珠游戏,两人轮流拿走弹珠,每次只能拿走一个或者两个,当Alice作为先手时谁拿走最后一个就是输家,而Bo ...