From 0e2f1c366f0827edf7fe85ac5311d4a37e3dfd4e Mon Sep 17 00:00:00 2001 From: Glacierty Date: Sat, 14 Aug 2021 17:05:40 +0800 Subject: [PATCH 1/5] Update multi_button.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在issue中看到网友反馈的bug(连击接着长按不会触发长按事件),但是没人提交这段代码,那我就代劳咯,哈哈哈 --- multi_button.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/multi_button.c b/multi_button.c index 3a96fa7..1b24854 100644 --- a/multi_button.c +++ b/multi_button.c @@ -129,6 +129,8 @@ void button_handler(struct Button* handle) } else { handle->state = 0; } + }else if(handle->ticks > SHORT_TICKS){ // long press up + handle->state = 0; } break; From 034496c83ebabcd1e32f9fd497edda4909553e30 Mon Sep 17 00:00:00 2001 From: Glacierty Date: Tue, 17 Aug 2021 19:34:18 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=8F=90=E9=AB=98=E9=93=BE=E8=A1=A8?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 如果不加这一语句,那删除需要遍历整个链表,直到找到尾指针才会退出,虽然时间固定,但是降低了效率,加一个return;可以解决这个问题 --- multi_button.c | 1 + 1 file changed, 1 insertion(+) diff --git a/multi_button.c b/multi_button.c index 1b24854..ff16515 100644 --- a/multi_button.c +++ b/multi_button.c @@ -179,6 +179,7 @@ void button_stop(struct Button* handle) if (entry == handle) { *curr = entry->next; // free(entry); + return; } else curr = &entry->next; } From 8dba0a90dd2f26946423bc3939c0de30ef4620b4 Mon Sep 17 00:00:00 2001 From: Glacierty Date: Wed, 18 Aug 2021 17:11:49 +0800 Subject: [PATCH 3/5] add comment add comment --- multi_button.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multi_button.c b/multi_button.c index ff16515..b666acb 100644 --- a/multi_button.c +++ b/multi_button.c @@ -179,7 +179,7 @@ void button_stop(struct Button* handle) if (entry == handle) { *curr = entry->next; // free(entry); - return; + return;//glacier add } else curr = &entry->next; } From b5bb284d61fe8b731364472c54049ef902e89156 Mon Sep 17 00:00:00 2001 From: Glacierty Date: Wed, 18 Aug 2021 17:19:24 +0800 Subject: [PATCH 4/5] add date --- multi_button.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multi_button.c b/multi_button.c index b666acb..1a70053 100644 --- a/multi_button.c +++ b/multi_button.c @@ -179,7 +179,7 @@ void button_stop(struct Button* handle) if (entry == handle) { *curr = entry->next; // free(entry); - return;//glacier add + return;//glacier add 2021-8-13 } else curr = &entry->next; } From 51cce2f78aae75672a5fab6304141513d69b7196 Mon Sep 17 00:00:00 2001 From: Glacierty Date: Wed, 18 Aug 2021 17:35:32 +0800 Subject: [PATCH 5/5] change comment --- multi_button.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multi_button.c b/multi_button.c index 1a70053..762c797 100644 --- a/multi_button.c +++ b/multi_button.c @@ -179,7 +179,7 @@ void button_stop(struct Button* handle) if (entry == handle) { *curr = entry->next; // free(entry); - return;//glacier add 2021-8-13 + return;//glacier add 2021-8-18 } else curr = &entry->next; }