開啓三擊
#define USER_KEY_THRICE_EN 1 //按鍵三擊功能,需要先開雙擊功能
加作用的宏定義
#define KT_VOL_UP (KEY_VOL_UP | KEY_THREE) //三擊 56A 35B這樣直接加
在消息處理三擊的作用
#if KT_VOL_UP
case KU_VOL_NEXT_PREV:
case KT_VOL_UP: //三擊 v+
if (msg == KU_VOL_NEXT_PREV) {
//循環音量加, 最大音量後提示下, 然後從0開始。
if (sys_cb.vol == VOL_MAX) {
bsp_set_volume(0);
} else {
bsp_set_volume(bsp_volume_inc(sys_cb.vol));
}
} else {
bsp_set_volume(bsp_volume_inc(sys_cb.vol));
}
if (func_cb.set_vol_callback) {
func_cb.set_vol_callback(1);
}
bsp_bt_vol_change();
printf("current volume: %d\n", sys_cb.vol);
/****************************這段代碼在func.c的 func_message.c******************************************/
#endif KT_VOL_UP
雙擊設置:
設置面板上,要設置雙擊
注意上面的雙擊按鍵選擇不代表能實現的功能
2.config.h開啓雙擊
#define USER_KEY_DOUBLE_EN 1 //按鍵雙擊使能
3.找到雙擊想要完成的功能宏定義
栗子:雙擊切換到上一首
#define KD_PREV (KEY_PREV | KEY_DOUBLE)
4.在消息函數裏操作函數
case KD_NEXT://雙擊切換下一首 KD_NEXT KD_PLAY_MODE
sys_cb.mute = 0;
bt_music_next();
break;
三擊的數據處理在底層完成,通過宏傳到函數中,不用開發者處理這部分的底層。目前爲止底層支持的按鍵操作包括:單擊,雙擊,三擊,長按,