mirror of
https://github.com/jaksatomovic/esp32-clickwheel.git
synced 2025-07-04 11:07:12 -04:00
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
/////////////////////////////////////////////////////////////////
|
|
|
|
#include "Button2.h"
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
#define BUTTON_PIN 2
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
Button2 button;
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
delay(50);
|
|
Serial.println("\n\nMulti Handler Demo");
|
|
|
|
button.begin(BUTTON_PIN);
|
|
button.setClickHandler(handler);
|
|
// button.setLongClickHandler(handler); // this will only be called upon release
|
|
button.setLongClickDetectedHandler(handler); // this will only be called upon detection
|
|
button.setDoubleClickHandler(handler);
|
|
button.setTripleClickHandler(handler);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
void loop() {
|
|
button.loop();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////
|
|
|
|
void handler(Button2& btn) {
|
|
switch (btn.getType()) {
|
|
case single_click:
|
|
break;
|
|
case double_click:
|
|
Serial.print("double ");
|
|
break;
|
|
case triple_click:
|
|
Serial.print("triple ");
|
|
break;
|
|
case long_click:
|
|
Serial.print("long");
|
|
break;
|
|
}
|
|
Serial.print("click");
|
|
Serial.print(" (");
|
|
Serial.print(btn.getNumberOfClicks());
|
|
Serial.println(")");
|
|
}
|
|
/////////////////////////////////////////////////////////////////
|