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