| .. | ||
| examples/button_power_save | ||
| include | ||
| test_apps | ||
| .component_hash | ||
| button_adc.c | ||
| button_gpio.c | ||
| button_matrix.c | ||
| CHANGELOG.md | ||
| CHECKSUMS.json | ||
| CMakeLists.txt | ||
| idf_component.yml | ||
| iot_button.c | ||
| Kconfig | ||
| license.txt | ||
| README.md | ||
Component: Button
After creating a new button object by calling function button_create(), the button object can create press events, every press event can have its own callback.
List of supported events:
- Button pressed
- Button released
- Button pressed repeat
- Button press repeat done
- Button single click
- Button double click
- Button multiple click
- Button long press start
- Button long press hold
- Button long press up
- Button Press end
There are three ways this driver can handle buttons:
- Buttons connected to standard digital GPIO
- Multiple buttons connected to single ADC channel
- Matrix keyboard employs multiple GPIOs for operation.
- Custom button connect to any driver
The component supports the following functionalities:
- Creation of an unlimited number of buttons, accommodating various types simultaneously.
- Multiple callback functions for a single event.
- Allowing customization of the consecutive key press count to any desired number.
- Facilitating the setup of callbacks for any specified long-press duration.
- Support power save mode (Only for gpio button)
Add component to your project
Please use the component manager command add-dependency to add the button to your project's dependency, during the CMake step the component will be downloaded automatically
idf.py add-dependency "espressif/button=*"