Skip to content

Commit 5de0dc1

Browse files
committed
sliding multiclick window
1 parent 43c3105 commit 5de0dc1

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/helpers/ui/MomentaryButton.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ MomentaryButton::MomentaryButton(int8_t pin, int long_press_millis, bool reverse
1111
_threshold = 0;
1212
_click_count = 0;
1313
_last_click_time = 0;
14-
_multi_click_window = 500;
14+
_multi_click_window = 260;
1515
_pending_click = false;
1616
}
1717

@@ -26,7 +26,7 @@ MomentaryButton::MomentaryButton(int8_t pin, int long_press_millis, int analog_t
2626
_threshold = analog_threshold;
2727
_click_count = 0;
2828
_last_click_time = 0;
29-
_multi_click_window = 500;
29+
_multi_click_window = 260;
3030
_pending_click = false;
3131
}
3232

@@ -81,6 +81,9 @@ int MomentaryButton::check(bool repeat_click) {
8181
}
8282
if (event == BUTTON_EVENT_CLICK && cancel) {
8383
event = BUTTON_EVENT_NONE;
84+
_click_count = 0;
85+
_last_click_time = 0;
86+
_pending_click = false;
8487
}
8588
down_at = 0;
8689
}
@@ -93,6 +96,9 @@ int MomentaryButton::check(bool repeat_click) {
9396
if (_long_millis > 0 && down_at > 0 && (unsigned long)(millis() - down_at) >= _long_millis) {
9497
event = BUTTON_EVENT_LONG_PRESS;
9598
down_at = 0;
99+
_click_count = 0;
100+
_last_click_time = 0;
101+
_pending_click = false;
96102
}
97103
if (down_at > 0 && repeat_click) {
98104
unsigned long diff = (unsigned long)(millis() - down_at);
@@ -118,6 +124,7 @@ int MomentaryButton::check(bool repeat_click) {
118124
break;
119125
}
120126
_click_count = 0;
127+
_last_click_time = 0;
121128
_pending_click = false;
122129
}
123130

0 commit comments

Comments
 (0)