diff options
26 files changed, 1 insertions, 192 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 7a12a81..0ffd391 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -30,7 +30,6 @@ target_sources(app PRIVATE src/hid.c) target_sources(app PRIVATE src/sensors.c) target_sources_ifdef(CONFIG_ZMK_DISPLAY app PRIVATE src/display.c) target_sources(app PRIVATE src/event_manager.c) -target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/ble_unpair_combo.c) target_sources_ifdef(CONFIG_ZMK_EXT_POWER app PRIVATE src/ext_power_generic.c) target_sources(app PRIVATE src/events/position_state_changed.c) target_sources(app PRIVATE src/events/keycode_state_changed.c) diff --git a/app/boards/shields/corne/corne.dtsi b/app/boards/shields/corne/corne.dtsi index af14bae..4360aea 100644 --- a/app/boards/shields/corne/corne.dtsi +++ b/app/boards/shields/corne/corne.dtsi @@ -58,10 +58,6 @@ RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10 }; - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - }; - // TODO: per-key RGB node(s)? }; diff --git a/app/boards/shields/corne/corne_left.overlay b/app/boards/shields/corne/corne_left.overlay index f12c417..399bddd 100644 --- a/app/boards/shields/corne/corne_left.overlay +++ b/app/boards/shields/corne/corne_left.overlay @@ -16,7 +16,3 @@ , <&pro_micro_d 14 GPIO_ACTIVE_HIGH> ; }; - -&bt_unpair_combo { - key-positions = <0 38>; -}; diff --git a/app/boards/shields/corne/corne_right.overlay b/app/boards/shields/corne/corne_right.overlay index 9d97d85..4250ac5 100644 --- a/app/boards/shields/corne/corne_right.overlay +++ b/app/boards/shields/corne/corne_right.overlay @@ -20,7 +20,3 @@ , <&pro_micro_a 3 GPIO_ACTIVE_HIGH> ; }; - -&bt_unpair_combo { - key-positions = <11 39>; -}; diff --git a/app/boards/shields/iris/iris.dtsi b/app/boards/shields/iris/iris.dtsi index f6e32c4..9ea1dd6 100644 --- a/app/boards/shields/iris/iris.dtsi +++ b/app/boards/shields/iris/iris.dtsi @@ -44,8 +44,4 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,2) RC(4,9) RC(3,6) RC(3,7) ; }; - - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - }; };
\ No newline at end of file diff --git a/app/boards/shields/iris/iris_left.overlay b/app/boards/shields/iris/iris_left.overlay index e04638e..7ded678 100644 --- a/app/boards/shields/iris/iris_left.overlay +++ b/app/boards/shields/iris/iris_left.overlay @@ -16,7 +16,3 @@ , <&pro_micro_d 10 GPIO_ACTIVE_HIGH> ; }; - -&bt_unpair_combo { - key-positions = <0 42>; -}; diff --git a/app/boards/shields/iris/iris_right.overlay b/app/boards/shields/iris/iris_right.overlay index 2d5dce8..5196582 100644 --- a/app/boards/shields/iris/iris_right.overlay +++ b/app/boards/shields/iris/iris_right.overlay @@ -20,7 +20,3 @@ , <&pro_micro_a 1 GPIO_ACTIVE_HIGH> ; }; - -&bt_unpair_combo { - key-positions = <11 43>; -}; diff --git a/app/boards/shields/kyria/kyria.dtsi b/app/boards/shields/kyria/kyria.dtsi index a13f7f0..bbead84 100644 --- a/app/boards/shields/kyria/kyria.dtsi +++ b/app/boards/shields/kyria/kyria.dtsi @@ -81,10 +81,6 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) sensors = <&left_encoder &right_encoder>; }; - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - }; - // TODO: RGB node(s) }; diff --git a/app/boards/shields/kyria/kyria_left.overlay b/app/boards/shields/kyria/kyria_left.overlay index 441c1a6..c8b5be2 100644 --- a/app/boards/shields/kyria/kyria_left.overlay +++ b/app/boards/shields/kyria/kyria_left.overlay @@ -22,7 +22,3 @@ &left_encoder { status = "okay"; }; - -&bt_unpair_combo { - key-positions = <0 44>; -};
\ No newline at end of file diff --git a/app/boards/shields/kyria/kyria_right.overlay b/app/boards/shields/kyria/kyria_right.overlay index 8ee0fcb..8163c95 100644 --- a/app/boards/shields/kyria/kyria_right.overlay +++ b/app/boards/shields/kyria/kyria_right.overlay @@ -27,7 +27,3 @@ &right_encoder { status = "okay"; }; - -&bt_unpair_combo { - key-positions = <11 45>; -};
\ No newline at end of file diff --git a/app/boards/shields/lily58/lily58.dtsi b/app/boards/shields/lily58/lily58.dtsi index 556909f..eb69fa7 100644 --- a/app/boards/shields/lily58/lily58.dtsi +++ b/app/boards/shields/lily58/lily58.dtsi @@ -57,10 +57,6 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7) compatible = "zmk,keymap-sensors"; sensors = <&left_encoder>; }; - - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - }; }; &pro_micro_i2c { diff --git a/app/boards/shields/lily58/lily58_left.overlay b/app/boards/shields/lily58/lily58_left.overlay index 1752b6e..7397f18 100644 --- a/app/boards/shields/lily58/lily58_left.overlay +++ b/app/boards/shields/lily58/lily58_left.overlay @@ -20,7 +20,3 @@ &left_encoder { status = "okay"; }; - -&bt_unpair_combo { - key-positions = <0 53>; -}; diff --git a/app/boards/shields/lily58/lily58_right.overlay b/app/boards/shields/lily58/lily58_right.overlay index 6c8e493..4fc460c 100644 --- a/app/boards/shields/lily58/lily58_right.overlay +++ b/app/boards/shields/lily58/lily58_right.overlay @@ -20,7 +20,3 @@ , <&pro_micro_a 1 GPIO_ACTIVE_HIGH> ; }; - -&bt_unpair_combo { - key-positions = <11 54>; -}; diff --git a/app/boards/shields/m60/m60.overlay b/app/boards/shields/m60/m60.overlay index babae2d..0824f1c 100644 --- a/app/boards/shields/m60/m60.overlay +++ b/app/boards/shields/m60/m60.overlay @@ -56,11 +56,5 @@ RC(6,4) RC(6,3) RC(6,2) RC(6,1) RC(6,0) RC(5,7) RC(5,6) RC(5,5) RC(5,4) RC RC(6,5) RC(6,6) RC(6,7) RC(7,0) RC(7,1) RC(7,2) RC(7,3) RC(7,4) >; }; - - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - key-positions = <0 53>; - }; - }; diff --git a/app/boards/shields/romac/romac.overlay b/app/boards/shields/romac/romac.overlay index 67d5868..f6b0f72 100644 --- a/app/boards/shields/romac/romac.overlay +++ b/app/boards/shields/romac/romac.overlay @@ -30,11 +30,5 @@ ; }; - - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - key-positions = <0 11>; - }; - }; diff --git a/app/boards/shields/sofle/sofle.dtsi b/app/boards/shields/sofle/sofle.dtsi index bff42f6..b4edb5f 100644 --- a/app/boards/shields/sofle/sofle.dtsi +++ b/app/boards/shields/sofle/sofle.dtsi @@ -66,10 +66,6 @@ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(4,5) RC(4,6) RC(3,6) RC(3,7) compatible = "zmk,keymap-sensors"; sensors = <&left_encoder &right_encoder>; }; - - bt_unpair_combo: bt_unpair_combo { - compatible = "zmk,bt-unpair-combo"; - }; }; &pro_micro_i2c { diff --git a/app/boards/shields/sofle/sofle_left.overlay b/app/boards/shields/sofle/sofle_left.overlay index 0dfb753..eb2bfed 100644 --- a/app/boards/shields/sofle/sofle_left.overlay +++ b/app/boards/shields/sofle/sofle_left.overlay @@ -20,7 +20,3 @@ &left_encoder { status = "okay"; }; - -&bt_unpair_combo { - key-positions = <0 54>; -}; diff --git a/app/boards/shields/sofle/sofle_right.overlay b/app/boards/shields/sofle/sofle_right.overlay index 8eaf076..c35cf52 100644 --- a/app/boards/shields/sofle/sofle_right.overlay +++ b/app/boards/shields/sofle/sofle_right.overlay @@ -24,7 +24,3 @@ &right_encoder { status = "okay"; }; - -&bt_unpair_combo { - key-positions = <11 55>; -}; diff --git a/app/dts/bindings/zmk,bt-unpair-combo.yaml b/app/dts/bindings/zmk,bt-unpair-combo.yaml deleted file mode 100644 index d781347..0000000 --- a/app/dts/bindings/zmk,bt-unpair-combo.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2020, Pete Johanson -# SPDX-License-Identifier: MIT - -description: | - Defines a set of key positions that will unpair all BT devices if held on startup. - -compatible: "zmk,bt-unpair-combo" - -properties: - key-positions: - type: array - required: true diff --git a/app/src/ble_unpair_combo.c b/app/src/ble_unpair_combo.c deleted file mode 100644 index b6e542d..0000000 --- a/app/src/ble_unpair_combo.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2020 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#include <device.h> -#include <init.h> - -#define DT_DRV_COMPAT zmk_bt_unpair_combo - -#if DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) - -#include <logging/log.h> -LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); - -#include <zmk/ble.h> -#include <zmk/event-manager.h> -#include <zmk/events/position-state-changed.h> - -static u8_t combo_state; - -const u32_t key_positions[] = DT_INST_PROP(0, key_positions); -#define KP_LEN DT_INST_PROP_LEN(0, key_positions) - -int index_for_key_position(u32_t kp) { - for (int i = 0; i < KP_LEN; i++) { - if (key_positions[i] == kp) { - return i; - } - } - - return -1; -} - -int unpair_combo_listener(const struct zmk_event_header *eh) { - if (is_position_state_changed(eh)) { - const struct position_state_changed *psc = cast_position_state_changed(eh); - - int kp_index = index_for_key_position(psc->position); - if (kp_index < 0) { - return 0; - } - - WRITE_BIT(combo_state, kp_index, psc->state); - } - - return 0; -}; - -void unpair_combo_work_handler(struct k_work *work) { - for (int i = 0; i < KP_LEN; i++) { - if (!(combo_state & BIT(i))) { - LOG_DBG("Key position %d not held, skipping unpair combo", key_positions[i]); - return; - } - } - - zmk_ble_unpair_all(); -}; - -struct k_delayed_work unpair_combo_work; - -int zmk_ble_unpair_combo_init(struct device *_unused) { - k_delayed_work_init(&unpair_combo_work, unpair_combo_work_handler); - k_delayed_work_submit(&unpair_combo_work, K_SECONDS(2)); - - return 0; -}; - -ZMK_LISTENER(zmk_ble_unpair_combo, unpair_combo_listener); -ZMK_SUBSCRIPTION(zmk_ble_unpair_combo, position_state_changed); - -SYS_INIT(zmk_ble_unpair_combo_init, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY); - -#endif /* DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) */ diff --git a/docs/docs/assets/bond-clearing/corne.jpg b/docs/docs/assets/bond-clearing/corne.jpg Binary files differdeleted file mode 100644 index 1e070a2..0000000 --- a/docs/docs/assets/bond-clearing/corne.jpg +++ /dev/null diff --git a/docs/docs/assets/bond-clearing/debug.log b/docs/docs/assets/bond-clearing/debug.log deleted file mode 100644 index e69de29..0000000 --- a/docs/docs/assets/bond-clearing/debug.log +++ /dev/null diff --git a/docs/docs/assets/bond-clearing/kyria.jpg b/docs/docs/assets/bond-clearing/kyria.jpg Binary files differdeleted file mode 100644 index 9fa22a0..0000000 --- a/docs/docs/assets/bond-clearing/kyria.jpg +++ /dev/null diff --git a/docs/docs/assets/bond-clearing/lily58.jpg b/docs/docs/assets/bond-clearing/lily58.jpg Binary files differdeleted file mode 100644 index 4087e7d..0000000 --- a/docs/docs/assets/bond-clearing/lily58.jpg +++ /dev/null diff --git a/docs/docs/bond-reset.md b/docs/docs/bond-reset.md deleted file mode 100644 index a16b94d..0000000 --- a/docs/docs/bond-reset.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: bond-reset -title: Reset BLE Connections (DEPRECATED) -sidebar_label: BLE Reset (DEPRECATED) ---- - -Known as a 'bond reset', each keyboard has a special key combination independent of the user defined key map which will -clear all wireless connection configurations. The keys must be held for 3 to 5 seconds after the device is -reset. - -:::warning -Currently, ZMK only supports a single BLE host. If you remove the keyboard from the host's bluetooth devices -list, you will need to clear the bonds. -::: - -## Split Keyboards - -Split keyboards will need to be cleared on both halves. For best results try to reset them at the same time. - -### Kyria - -![Kyria bond-reset combo](assets/bond-clearing/kyria.jpg) - -### Corne - -![Corne bond-reset combo](assets/bond-clearing/corne.jpg) - -### Lily58 - -![Lily58 bond-reset combo](assets/bond-clearing/lily58.jpg) diff --git a/docs/docs/user-setup.md b/docs/docs/user-setup.md index 990a8f6..cdc82ca 100644 --- a/docs/docs/user-setup.md +++ b/docs/docs/user-setup.md @@ -194,7 +194,7 @@ storage device. Once the flash is complete, the controller should automatically ## Wirelessly Connecting Your Keyboard -Connecting your keyboard wirelessly is the same as adding other Bluetooth devides: press the reset button and scan for devices. However, pairing and bonding is still currently being worked on to increase relability and ease of use. In addition, users have in general reported that Bluetooth pairing with computers tends to be quite finnicky. Try out the connection with your tablet or phone first, as those devices seem to work much more consistently. See [BLE Reset](./bond-reset.md) for help on resetting your MCUs if you're experiencing connection issues. +Connecting your keyboard wirelessly is the same as adding other Bluetooth devides: press the reset button and scan for devices. However, pairing and bonding is still currently being worked on to increase relability and ease of use. In addition, users have in general reported that Bluetooth pairing with computers tends to be quite finnicky. Try out the connection with your tablet or phone first, as those devices seem to work much more consistently. ### Connecting Split Keyboard Halves |