Add long press event.
This commit is contained in:
parent
fca55f1bf2
commit
ad18b96aa0
|
@ -57,7 +57,7 @@ static UINT32 g_uiKeyScanTimerCnt = 0;
|
|||
#endif
|
||||
|
||||
#define KEY_TIMER_CNT 10//10x20=200ms
|
||||
#define KEY_CONTINUE_DEBOUNCE 30//30x20=600ms
|
||||
#define KEY_CONTINUE_DEBOUNCE 25// 25 x 20=500ms
|
||||
|
||||
static GX_CALLBACK_PTR g_fpKeyCB = NULL;
|
||||
static UINT32 g_uiRepeatCnt = KEY_TIMER_CNT;
|
||||
|
@ -158,19 +158,19 @@ void GxKey_DetNormalKey(void)
|
|||
//#NT#2010/08/02#Ben Wang -end
|
||||
|
||||
/*
|
||||
使用方式 :
|
||||
<EFBFBD>ϥΤ覡 :
|
||||
|
||||
錄Key:
|
||||
1. 修改 #define KEYINLOG_FUNCTION ENABLE
|
||||
2. Update F/W 後, 將 Log 存下來 (Ex:KeyLog.log)
|
||||
3. 執行 KlTxtToHex KeyLog.log 產生 TransLog.hex
|
||||
4. 寄給分析人員
|
||||
<EFBFBD><EFBFBD>Key:
|
||||
1. <EFBFBD>ק<EFBFBD> #define KEYINLOG_FUNCTION ENABLE
|
||||
2. Update F/W <EFBFBD><EFBFBD>, <EFBFBD>N Log <EFBFBD>s<EFBFBD>U<EFBFBD><EFBFBD> (Ex:KeyLog.log)
|
||||
3. <EFBFBD><EFBFBD><EFBFBD><EFBFBD> KlTxtToHex KeyLog.log <EFBFBD><EFBFBD><EFBFBD><EFBFBD> TransLog.hex
|
||||
4. <EFBFBD>H<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>H<EFBFBD><EFBFBD>
|
||||
|
||||
播Key:
|
||||
1. 修改 #define KEYINLOG_FUNCTION ENABLE
|
||||
2. 解除在 KeyScanTsk.c 中的 //Keylog_EnableRuningKeyLog(); 的註解
|
||||
3. Copy TransLog.hex 到 SD Card 的根目錄
|
||||
4. 開機
|
||||
<EFBFBD><EFBFBD>Key:
|
||||
1. <EFBFBD>ק<EFBFBD> #define KEYINLOG_FUNCTION ENABLE
|
||||
2. <EFBFBD>Ѱ<EFBFBD><EFBFBD>b KeyScanTsk.c <EFBFBD><EFBFBD><EFBFBD><EFBFBD> //Keylog_EnableRuningKeyLog(); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
3. Copy TransLog.hex <EFBFBD><EFBFBD> SD Card <EFBFBD><EFBFBD><EFBFBD>ڥؿ<EFBFBD>
|
||||
4. <EFBFBD>}<EFBFBD><EFBFBD>
|
||||
*/
|
||||
|
||||
#if(KEYINLOG_FUNCTION == ENABLE)
|
||||
|
|
|
@ -304,7 +304,7 @@ void Input_ResetMask(void)
|
|||
// Set key mask as default
|
||||
SysMan_SetKeyMask(KEY_PRESS, FLGKEY_KEY_MASK_DEFAULT);
|
||||
SysMan_SetKeyMask(KEY_RELEASE, FLGKEY_KEY_MASK_DEFAULT);
|
||||
SysMan_SetKeyMask(KEY_CONTINUE, FLGKEY_KEY_MASK_NULL);
|
||||
SysMan_SetKeyMask(KEY_CONTINUE, FLGKEY_KEY_MASK_DEFAULT);
|
||||
#if defined(_TOUCH_ON_) || defined(_UI_STYLE_LVGL_)
|
||||
SysMan_SetTouchMask(TOUCH_MASK_DEFAULT);
|
||||
#endif
|
||||
|
|
|
@ -613,14 +613,40 @@ void UserMainProc(void)
|
|||
uint32_t nvt_user_key = lv_user_keymap_find(evt);
|
||||
|
||||
if(nvt_user_key != LV_USER_KEY_UNKNOWN){
|
||||
if(indev_keypad && indev_keypad->group){
|
||||
_lv_user_task_handler_lock();
|
||||
|
||||
lv_obj_t* focused = lv_group_get_focused(indev_keypad->group);
|
||||
if(focused)
|
||||
lv_event_send(lv_plugin_scr_act(), LV_USER_EVENT_KEY_RELEASE, &nvt_user_key);
|
||||
|
||||
_lv_user_task_handler_unlock();
|
||||
}
|
||||
}
|
||||
else{
|
||||
DBG_WRN("evt = %lx\r\n", evt);
|
||||
}
|
||||
}
|
||||
if(paramArray[0] == NVTEVT_KEY_CONTINUE){
|
||||
uint32_t nvt_user_key = lv_user_keymap_find(evt);
|
||||
|
||||
if(nvt_user_key != LV_USER_KEY_UNKNOWN){
|
||||
if(indev_keypad && indev_keypad->group){
|
||||
_lv_user_task_handler_lock();
|
||||
|
||||
lv_obj_t* focused = lv_group_get_focused(indev_keypad->group);
|
||||
if(focused)
|
||||
lv_event_send(focused, LV_USER_EVENT_KEY_LONG_PRESS, &nvt_user_key);
|
||||
|
||||
_lv_user_task_handler_unlock();
|
||||
}
|
||||
}
|
||||
else{
|
||||
DBG_WRN("evt = %lx\r\n", evt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1583,6 +1583,13 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event)
|
|||
|
||||
break;
|
||||
}
|
||||
case LV_USER_EVENT_KEY_LONG_PRESS:
|
||||
{
|
||||
uint32_t* key = (uint32_t*)lv_event_get_data();
|
||||
UIFlowPhoto_KeyRelease(obj, *key);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/* handle nvt event except key event */
|
||||
|
|
|
@ -65,6 +65,7 @@ typedef enum {
|
|||
LV_USER_EVENT_START = _LV_PLUGIN_EVENT_LAST,
|
||||
LV_USER_EVENT_NVTMSG = LV_USER_EVENT_START, /* lv_event_get_data(): LV_USER_EVENT_NVTMSG_DATA */
|
||||
LV_USER_EVENT_KEY_RELEASE, /* lv_event_get_data(): */
|
||||
LV_USER_EVENT_KEY_LONG_PRESS
|
||||
|
||||
} LV_USER_EVENT;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user