diff --git a/main/key.c b/main/key.c index 4236743..8deea7e 100644 --- a/main/key.c +++ b/main/key.c @@ -11,6 +11,7 @@ #include "key.h" #include "port.h" +#include "cover.h" #define key_long_press_time_ms 5000 @@ -36,19 +37,26 @@ void T_key_on_event(void) void T_key_schedule(void) { T_key_structer_s->key_now_state = T_key_get_level(); - if ((T_key_structer_s->key_before_state != T_key_structer_s->key_now_state) && (T_key_structer_s->key_now_state == true)) + /* 检查是否盖上盖 */ + if (cover_get_level()) { - short_press_event_cb_s(); - T_key_structer_s->key_start_time = port_get_ticket(); - } + if ((T_key_structer_s->key_before_state != T_key_structer_s->key_now_state) && (T_key_structer_s->key_now_state == true)) + { + short_press_event_cb_s(); + T_key_structer_s->key_start_time = port_get_ticket(); + } - if (T_key_structer_s->key_now_state) - { - if (port_get_ticket() - T_key_structer_s->key_start_time > key_long_press_time_ms) + if (T_key_structer_s->key_now_state) { - long_press_event_cb_s(); + if (port_get_ticket() - T_key_structer_s->key_start_time > key_long_press_time_ms) + { + long_press_event_cb_s(); + } } } + else + { + } T_key_structer_s->key_before_state = T_key_structer_s->key_now_state; }