#pragma once
#include "esp_err.h"

// 按键引脚定义
#define PIN_BTN_BOOT    0   // GPIO0 BOOT按键（低电平有效）
#define PIN_BTN_KEY2    4   // GPIO4 KEY2按键（低电平有效）

// 按键事件回调函数类型（与iot_button回调签名兼容）
typedef void (*btn_event_cb_t)(void *arg, void *usr_data);

// 初始化按键驱动（使用iot_button组件，支持单击/双击/长按）
esp_err_t button_init(void);

// BOOT按键事件回调注册
void button_on_boot_click(btn_event_cb_t cb, void *usr_data);
void button_on_boot_double_click(btn_event_cb_t cb, void *usr_data);
void button_on_boot_long_press(btn_event_cb_t cb, void *usr_data);

// KEY2按键事件回调注册
void button_on_key2_click(btn_event_cb_t cb, void *usr_data);
void button_on_key2_double_click(btn_event_cb_t cb, void *usr_data);
void button_on_key2_long_press(btn_event_cb_t cb, void *usr_data);
