summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJoel Spadin <joelspadin@gmail.com>2020-10-24 16:28:58 -0500
committerJoel Spadin <joelspadin@gmail.com>2020-10-28 18:15:05 -0500
commit600bba25f049b1fa161b2372b2a47762164c7fcd (patch)
treefacbda4a77b0c454233047f8a8d5c264f3a0e3fb /docs
parentb538e605321791568aa25f0bd534ebcb30da92c2 (diff)
feat(endpoints): add preferred endpoint setting
Added a new setting to remember the user's preferred endpoint. When both USB and BLE are connected, the preferred endpoint will be used. Added a new behavior to control this setting. It supports commands: &end END_USB - Prefer USB output &end END_BLE - Prefer BLE output &end END_TOG - Toggle between USB and BLE
Diffstat (limited to 'docs')
-rw-r--r--docs/docs/behavior/endpoints.md59
-rw-r--r--docs/sidebars.js1
2 files changed, 60 insertions, 0 deletions
diff --git a/docs/docs/behavior/endpoints.md b/docs/docs/behavior/endpoints.md
new file mode 100644
index 0000000..caedf3a
--- /dev/null
+++ b/docs/docs/behavior/endpoints.md
@@ -0,0 +1,59 @@
+---
+title: Endpoint Behavior
+sidebar_label: Endpoints
+---
+
+## Summary
+
+The endpoint behavior allows selecting whether keyboard input is sent to the
+USB or bluetooth connection when both are connected. This allows connecting a
+keyboard to USB for power but sending input to a different device over bluetooth.
+
+By default, keyboard input is sent to USB when both endpoints are connected.
+Once you select a different endpoint, it will be remembered until you change it again.
+
+## Endpoints Command Defines
+
+Endpoints command defines are provided through the [`dt-bindings/zmk/endpoints.h`](https://github.com/zmkfirmware/zmk/blob/main/app/include/dt-bindings/zmk/endpoints.h)
+header, which is added at the top of the keymap file:
+
+```
+#include <dt-bindings/zmk/endpoints.h>
+```
+
+This allows you to reference the actions defined in this header:
+
+| Define | Action | Alias |
+| --------------------- | ---------------------------------------------------- | --------- |
+| `ENDPOINT_USB_CMD` | Send keyboard input to USB | `END_USB` |
+| `ENDPOINT_BLE_CMD` | Send keyboard input to the current bluetooth profile | `END_BLE` |
+| `ENDPOINT_TOGGLE_CMD` | Toggle between USB and BLE | `END_TOG` |
+
+## Endpoints Behavior
+
+The endpoints behavior changes the preferred endpoint on press.
+
+### Behavior Binding
+
+- Reference: `&end`
+- Parameter #1: Command, e.g. `END_BLE`
+
+### Example:
+
+1. Behavior binding to prefer sending keyboard input to USB
+
+ ```
+ &end END_USB
+ ```
+
+1. Behavior binding to prefer sending keyboard input to the current bluetooth profile
+
+ ```
+ &end END_BLE
+ ```
+
+1. Behavior binding to toggle between preferring USB and BLE
+
+ ```
+ &end END_TOG
+ ```
diff --git a/docs/sidebars.js b/docs/sidebars.js
index 54f6576..334a35d 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -22,6 +22,7 @@ module.exports = {
"behavior/mod-tap",
"behavior/reset",
"behavior/bluetooth",
+ "behavior/endpoints",
"behavior/lighting",
"behavior/power",
],