feeature(bt): Add "unpair combo" on startup.

* Especially for splits, we need the ability to
  unpair all paired devices as  sledgehammer
  if we need to "reset things", and doing so via
  keymaps isn't suitable.
* Allows shields to define a collection of key
  positions that if all held 2 seconds after
  startup, will unpair all existing pairs for the
  device.
This commit is contained in:
Pete Johanson
2020-08-18 11:20:15 -04:00
parent d7dee20e8d
commit 4402e4fbc7
22 changed files with 160 additions and 10 deletions

View File

@@ -58,6 +58,10 @@ 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)?
};

View File

@@ -1,2 +1,3 @@
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
CONFIG_ZMK_BLE_UNPAIR_COMBO=y

View File

@@ -16,3 +16,7 @@
, <&pro_micro_d 14 GPIO_ACTIVE_HIGH>
;
};
&bt_unpair_combo {
key-positions = <0 38>;
};

View File

@@ -1,2 +1,3 @@
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
CONFIG_ZMK_BLE_UNPAIR_COMBO=y

View File

@@ -21,3 +21,6 @@
;
};
&bt_unpair_combo {
key-positions = <11 39>;
};

View File

@@ -81,6 +81,10 @@ 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)
};

View File

@@ -1,2 +1,3 @@
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
CONFIG_ZMK_BLE_UNPAIR_COMBO=y

View File

@@ -22,3 +22,7 @@
&left_encoder {
status = "okay";
};
&bt_unpair_combo {
key-positions = <0 44>;
};

View File

@@ -1,2 +1,3 @@
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
CONFIG_ZMK_BLE_UNPAIR_COMBO=y

View File

@@ -27,3 +27,7 @@
&right_encoder {
status = "okay";
};
&bt_unpair_combo {
key-positions = <11 45>;
};

View File

@@ -44,6 +44,10 @@ 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)
;
};
bt_unpair_combo: bt_unpair_combo {
compatible = "zmk,bt-unpair-combo";
};
};
&pro_micro_i2c {

View File

@@ -1,2 +1,3 @@
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
CONFIG_ZMK_BLE_UNPAIR_COMBO=y

View File

@@ -17,3 +17,6 @@
;
};
&bt_unpair_combo {
key-positions = <0 42>;
};

View File

@@ -1,2 +1,3 @@
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL=y
CONFIG_ZMK_BLE_UNPAIR_COMBO=y

View File

@@ -21,3 +21,6 @@
;
};
&bt_unpair_combo {
key-positions = <11 43>;
};