forked from kofal.net/zmk
feat(bluetooth): Proper bond management, identity support for non-splits
* Add `bt` behavior that can be used to perform certain actions, such as next/prev identity, reset identity, etc. NOTE: Multiple identities is only supported for non-split shields, due to missing Zephyr identity functionality for dual central/peripheral devices. * Proper bond reset tied to action, that honors peripheral bonds, so folks can reset and pair to other hosts, without breaking bonds between splt halves.
This commit is contained in:
17
app/include/dt-bindings/zmk/bt.h
Normal file
17
app/include/dt-bindings/zmk/bt.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#define BT_RST_CMD 0
|
||||
#define BT_IDENT_NEXT_CMD 1
|
||||
#define BT_IDENT_PREV_CMD 2
|
||||
#define BT_IDENT_SEL_CMD 3
|
||||
#define BT_IDENT_CLR_CMD 4
|
||||
|
||||
#define BT_RST BT_RST_CMD 0
|
||||
#define BT_IDENT_NEXT BT_IDENT_NEXT_CMD 0
|
||||
#define BT_IDENT_PREV BT_IDENT_PREV_CMD 0
|
||||
#define BT_IDENT_SEL BT_IDENT_SEL_CMD
|
||||
#define BT_IDENT_CLR BT_IDENT_CLR_CMD 0
|
||||
@@ -6,7 +6,20 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <bluetooth/addr.h>
|
||||
#include <zmk/keys.h>
|
||||
|
||||
int zmk_ble_adv_pause();
|
||||
int zmk_ble_adv_resume();
|
||||
|
||||
int zmk_ble_identity_clear();
|
||||
int zmk_ble_identity_next();
|
||||
int zmk_ble_identity_prev();
|
||||
int zmk_ble_identity_select(u8_t index);
|
||||
|
||||
int zmk_ble_unpair_all();
|
||||
bool zmk_ble_handle_key_user(struct zmk_key_event *key_event);
|
||||
|
||||
#if IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL)
|
||||
void zmk_ble_set_peripheral_addr(bt_addr_le_t *addr);
|
||||
#endif /* IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL) */
|
||||
Reference in New Issue
Block a user