@else 按下一次 @endif */
BUTTON_DOUBLE_CLICK, /*!< @if Eng Click double time.
@else 连续按下两次 @endif */
- BUTTON_OTHER_CLICK, /*!< @if Eng Click other time.
+ BUTTON_CLICK_3, /*!< @if Eng Click other time.
+ @else 连续按下3次 @endif */
+ BUTTON_CLICK_4, /*!< @if Eng Click other time.
+ @else 连续按下4次 @endif */
+ BUTTON_CLICK_5, /*!< @if Eng Click other time.
+ @else 连续按下5次 @endif */
+ BUTTON_CLICK_6, /*!< @if Eng Click other time.
+ @else 连续按下6次 @endif */
+ BUTTON_CLICK_7, /*!< @if Eng Click other time.
+ @else 连续按下7次 @endif */
+ BUTTON_CLICK_8, /*!< @if Eng Click other time.
+ @else 连续按下8次 @endif */
+ BUTTON_OTHER_CLICK, /*!< @if Eng Click other time.
@else 其他连按次数 @endif */
BUTTON_CLICK_TIMES_INVALID, /*!< @if Eng Click times invilid.
@else 异常连击次数 @endif */
event = BUTTON1_START;
}
- if ((state == BUTTON_PRESS) || (state == BUTTON_CLICK) || (state == BUTTON_DOUBLE_CLICK)|| (state == BUTTON_OTHER_CLICK)) {
+ if ((state == BUTTON_PRESS) ||
+ (state == BUTTON_CLICK) ||
+ (state == BUTTON_DOUBLE_CLICK)||
+ (state == BUTTON_CLICK_3) ||
+ (state == BUTTON_CLICK_4) ||
+ (state == BUTTON_CLICK_5) ||
+ (state == BUTTON_CLICK_6) ||
+ (state == BUTTON_CLICK_7) ||
+ (state == BUTTON_CLICK_8) ) {
return (event + state + 1);
} else {
return (event + state - 1);
/* click more than two times */
if (g_button[id].click_cnt + 1 >= BUTTON_DEFAULT_MAX_CLICK_TIMES) {
#if (CONFIG_SUPPORT_BUTTON_DOUBLE_CLICK == YES)
- if ( (g_button[id].click_cnt +1) == 8) //连续按8次
- button_send_event_to_ui(id, BUTTON_OTHER_CLICK);
- else if ( (g_button[id].click_cnt +1) == 2)
+
+ switch((g_button[id].click_cnt +1))
+ {
+ case 8:
+ button_send_event_to_ui(id, BUTTON_CLICK_8); //其他情况只报单击 break;
+ case 7:
+ button_send_event_to_ui(id, BUTTON_CLICK_7); //其他情况只报单击
+ break;
+ case 6:
+ button_send_event_to_ui(id, BUTTON_CLICK_6); //其他情况只报单击
+ break;
+ case 5:
+ button_send_event_to_ui(id, BUTTON_CLICK_5); //其他情况只报单击
+ break;
+ case 4:
+ button_send_event_to_ui(id, BUTTON_CLICK_4); //其他情况只报单击
+ break;
+ case 3:
+ button_send_event_to_ui(id, BUTTON_CLICK_3); //其他情况只报单击
+ break;
+ case 2:
button_send_event_to_ui(id, BUTTON_DOUBLE_CLICK); //双击
- else
+ break;
+ case 1:
+ default:
button_send_event_to_ui(id, BUTTON_CLICK); //其他情况只报单击
+ break;
+ }
#else
button_send_event_to_ui(id, BUTTON_CLICK);
#endif
/*
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-07-18 14:55:27
- * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-05 15:29:35
+ * @LastEditors: SnickerSun snickersun@163.com
+ * @LastEditTime: 2024-10-09 10:43:18
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/RebootAndShutdownModel.cpp
*/
bool RebootAndShutdownModel::RegisterFuncKeyOtherOnClickEvent(void)
{
// 注册按键按下8次事件
- int32_t powerret = uapi_button_register_event_cb(HandFuncKeyOtherOnClickEvent, BUTTON1_CLICKUP_OTHER);
+ int32_t powerret = uapi_button_register_event_cb(HandFuncKeyOtherOnClickEvent, BUTTON1_CLICKUP_8);
if (powerret != ERRCODE_SUCC)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to register Power Button Press Event, ret = %d", powerret);
{\r
PRINT("function key click double."NEWLINE);\r
}\r
+static void button1_callback_click_8(void)\r
+{\r
+ PRINT("function key click 8."NEWLINE);\r
+}\r
static void button1_callback1(void)\r
{\r
PRINT("function key long press 1s over."NEWLINE);\r
uapi_button_register_event_cb(button1_callback_press, BUTTON1_PRESS);\r
uapi_button_register_event_cb(button1_callback_click, BUTTON1_CLICKUP);\r
uapi_button_register_event_cb(button1_callback_click_2, BUTTON1_CLICKUP_2);\r
+ uapi_button_register_event_cb(button1_callback_click_8, BUTTON1_CLICKUP_8);\r
\r
uapi_button_register_event_cb(button1_callback1, BUTTON1_LONGPRESS_1S);\r
\r