# ESP-IDF Keypad Component [](https://components.espressif.com/components/drvnprgrmr/esp-idf-keypad) A lightweight, configurable **matrix keypad driver** for ESP-IDF. Supports key scanning, debouncing, press/hold detection, and buffering with FreeRTOS queues. Works with any keypad size (rows × columns) via a C++ template API. --- ## ✨ Features - Supports **any matrix keypad size** (`rows × cols`) - Non-blocking and blocking key reads - **Press** and **hold** event detection - Configurable **debounce time** and **hold time** - Thread-safe buffering using FreeRTOS queues - Configurable buffer size via `menuconfig` - Works with ESP-IDF logging system (`esp_log`) --- ## 📦 Installation Add the component to your ESP-IDF project: ```bash idf.py add-dependency "drvnprgrmr/keypad^1.0.0" ``` or add manually to components/ folder. ## ⚙️ Configuration (menuconfig) ```text Component config ---> Keypad Configuration ---> [*] Enable logging (3) Default log level (10) Max number of keys in buffer ```
idf.py add-dependency "drvnprgrmr/esp-idf-keypad^1.0.0"