From 2fe1fbb526d9190e478999f36adbcfcf4a8847b2 Mon Sep 17 00:00:00 2001 From: Joel Spadin Date: Tue, 27 Oct 2020 13:49:28 -0500 Subject: [PATCH] feat(endpoints): rename behavior to outputs "Outputs" is probably easier for most people to understand than "endpoints". --- app/CMakeLists.txt | 2 +- app/dts/behaviors.dtsi | 2 +- app/dts/behaviors/endpoints.dtsi | 9 --- app/dts/behaviors/outputs.dtsi | 9 +++ ...dpoints.yaml => zmk,behavior-outputs.yaml} | 4 +- app/include/dt-bindings/zmk/endpoints.h | 13 ---- app/include/dt-bindings/zmk/outputs.h | 13 ++++ ...ehavior_endpoints.c => behavior_outputs.c} | 20 +++---- docs/docs/behavior/endpoints.md | 59 ------------------- docs/docs/behavior/outputs.md | 59 +++++++++++++++++++ docs/sidebars.js | 2 +- 11 files changed, 96 insertions(+), 96 deletions(-) delete mode 100644 app/dts/behaviors/endpoints.dtsi create mode 100644 app/dts/behaviors/outputs.dtsi rename app/dts/bindings/behaviors/{zmk,behavior-endpoints.yaml => zmk,behavior-outputs.yaml} (58%) delete mode 100644 app/include/dt-bindings/zmk/endpoints.h create mode 100644 app/include/dt-bindings/zmk/outputs.h rename app/src/behaviors/{behavior_endpoints.c => behavior_outputs.c} (61%) delete mode 100644 docs/docs/behavior/endpoints.md create mode 100644 docs/docs/behavior/outputs.md diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 0c43b913..f76effc0 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -39,11 +39,11 @@ target_sources(app PRIVATE src/events/sensor_event.c) target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/events/ble_active_profile_changed.c) target_sources_ifdef(CONFIG_USB app PRIVATE src/events/usb_conn_state_changed.c) if (NOT CONFIG_ZMK_SPLIT_BLE_ROLE_PERIPHERAL) - target_sources(app PRIVATE src/behaviors/behavior_endpoints.c) target_sources(app PRIVATE src/behaviors/behavior_key_press.c) target_sources(app PRIVATE src/behaviors/behavior_reset.c) target_sources(app PRIVATE src/behaviors/behavior_hold_tap.c) target_sources(app PRIVATE src/behaviors/behavior_momentary_layer.c) + target_sources(app PRIVATE src/behaviors/behavior_outputs.c) target_sources(app PRIVATE src/behaviors/behavior_toggle_layer.c) target_sources(app PRIVATE src/behaviors/behavior_transparent.c) target_sources(app PRIVATE src/behaviors/behavior_none.c) diff --git a/app/dts/behaviors.dtsi b/app/dts/behaviors.dtsi index 4a507619..a120b84b 100644 --- a/app/dts/behaviors.dtsi +++ b/app/dts/behaviors.dtsi @@ -10,4 +10,4 @@ #include #include #include -#include +#include diff --git a/app/dts/behaviors/endpoints.dtsi b/app/dts/behaviors/endpoints.dtsi deleted file mode 100644 index f6cb64c1..00000000 --- a/app/dts/behaviors/endpoints.dtsi +++ /dev/null @@ -1,9 +0,0 @@ -/ { - behaviors { - end: behavior_endpoints { - compatible = "zmk,behavior-endpoints"; - label = "ENDPOINTS"; - #binding-cells = <1>; - }; - }; -}; diff --git a/app/dts/behaviors/outputs.dtsi b/app/dts/behaviors/outputs.dtsi new file mode 100644 index 00000000..a534cbf9 --- /dev/null +++ b/app/dts/behaviors/outputs.dtsi @@ -0,0 +1,9 @@ +/ { + behaviors { + out: behavior_outputs { + compatible = "zmk,behavior-outputs"; + label = "OUTPUTS"; + #binding-cells = <1>; + }; + }; +}; diff --git a/app/dts/bindings/behaviors/zmk,behavior-endpoints.yaml b/app/dts/bindings/behaviors/zmk,behavior-outputs.yaml similarity index 58% rename from app/dts/bindings/behaviors/zmk,behavior-endpoints.yaml rename to app/dts/bindings/behaviors/zmk,behavior-outputs.yaml index fdd76bbd..8bcefd94 100644 --- a/app/dts/bindings/behaviors/zmk,behavior-endpoints.yaml +++ b/app/dts/bindings/behaviors/zmk,behavior-outputs.yaml @@ -3,8 +3,8 @@ # SPDX-License-Identifier: MIT # -description: Endpoints Behavior +description: Output Selection Behavior -compatible: "zmk,behavior-endpoints" +compatible: "zmk,behavior-outputs" include: one_param.yaml diff --git a/app/include/dt-bindings/zmk/endpoints.h b/app/include/dt-bindings/zmk/endpoints.h deleted file mode 100644 index 3bba972a..00000000 --- a/app/include/dt-bindings/zmk/endpoints.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright (c) 2020 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#define ENDPOINT_TOGGLE_CMD 0 -#define ENDPOINT_USB_CMD 1 -#define ENDPOINT_BLE_CMD 2 - -#define END_TOG ENDPOINT_TOGGLE_CMD -#define END_USB ENDPOINT_USB_CMD -#define END_BLE ENDPOINT_BLE_CMD \ No newline at end of file diff --git a/app/include/dt-bindings/zmk/outputs.h b/app/include/dt-bindings/zmk/outputs.h new file mode 100644 index 00000000..c9a34ae0 --- /dev/null +++ b/app/include/dt-bindings/zmk/outputs.h @@ -0,0 +1,13 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#define OUTPUT_TOGGLE_CMD 0 +#define OUTPUT_USB_CMD 1 +#define OUTPUT_BLE_CMD 2 + +#define OUT_TOG OUTPUT_TOGGLE_CMD +#define OUT_USB OUTPUT_USB_CMD +#define OUT_BLE OUTPUT_BLE_CMD \ No newline at end of file diff --git a/app/src/behaviors/behavior_endpoints.c b/app/src/behaviors/behavior_outputs.c similarity index 61% rename from app/src/behaviors/behavior_endpoints.c rename to app/src/behaviors/behavior_outputs.c index dd56fc11..0e7ac490 100644 --- a/app/src/behaviors/behavior_endpoints.c +++ b/app/src/behaviors/behavior_outputs.c @@ -4,13 +4,13 @@ * SPDX-License-Identifier: MIT */ -#define DT_DRV_COMPAT zmk_behavior_endpoints +#define DT_DRV_COMPAT zmk_behavior_outputs #include #include #include -#include +#include #include #include @@ -21,24 +21,24 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding, struct zmk_behavior_binding_event event) { switch (binding->param1) { - case ENDPOINT_TOGGLE_CMD: + case OUTPUT_TOGGLE_CMD: return zmk_endpoints_toggle(); - case ENDPOINT_USB_CMD: + case OUTPUT_USB_CMD: return zmk_endpoints_select(ZMK_ENDPOINT_USB); - case ENDPOINT_BLE_CMD: + case OUTPUT_BLE_CMD: return zmk_endpoints_select(ZMK_ENDPOINT_BLE); default: - LOG_ERR("Unknown endpoints command: %d", binding->param1); + LOG_ERR("Unknown output command: %d", binding->param1); } return -ENOTSUP; } -static int behavior_ep_init(struct device *dev) { return 0; } +static int behavior_out_init(struct device *dev) { return 0; } -static const struct behavior_driver_api behavior_endpoints_driver_api = { +static const struct behavior_driver_api behavior_outputs_driver_api = { .binding_pressed = on_keymap_binding_pressed, }; -DEVICE_AND_API_INIT(behavior_end, DT_INST_LABEL(0), behavior_ep_init, NULL, NULL, APPLICATION, - CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &behavior_endpoints_driver_api); +DEVICE_AND_API_INIT(behavior_out, DT_INST_LABEL(0), behavior_out_init, NULL, NULL, APPLICATION, + CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &behavior_outputs_driver_api); diff --git a/docs/docs/behavior/endpoints.md b/docs/docs/behavior/endpoints.md deleted file mode 100644 index caedf3a6..00000000 --- a/docs/docs/behavior/endpoints.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -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 -``` - -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/docs/behavior/outputs.md b/docs/docs/behavior/outputs.md new file mode 100644 index 00000000..50afac9c --- /dev/null +++ b/docs/docs/behavior/outputs.md @@ -0,0 +1,59 @@ +--- +title: Output Selection Behavior +sidebar_label: Output Selection +--- + +## Summary + +The output behavior allows selecting whether keyboard output is sent to the +USB or bluetooth connection when both are connected. This allows connecting a +keyboard to USB for power but outputting to a different device over bluetooth. + +By default, output is sent to USB when both USB and BLE are connected. +Once you select a different output, it will be remembered until you change it again. + +## Output Command Defines + +Output command defines are provided through the [`dt-bindings/zmk/outputs.h`](https://github.com/zmkfirmware/zmk/blob/main/app/include/dt-bindings/zmk/outputs.h) +header, which is added at the top of the keymap file: + +``` +#include +``` + +This allows you to reference the actions defined in this header: + +| Define | Action | Alias | +| ------------------- | ----------------------------------------------- | --------- | +| `OUTPUT_USB_CMD` | Prefer sending to USB | `OUT_USB` | +| `OUTPUT_BLE_CMD` | Prefer sending to the current bluetooth profile | `OUT_BLE` | +| `OUTPUT_TOGGLE_CMD` | Toggle between USB and BLE | `OUT_TOG` | + +## Output Selection Behavior + +The output selection behavior changes the preferred output on press. + +### Behavior Binding + +- Reference: `&out` +- Parameter #1: Command, e.g. `OUT_BLE` + +### Example: + +1. Behavior binding to prefer sending keyboard output to USB + + ``` + &out OUT_USB + ``` + +1. Behavior binding to prefer sending keyboard output to the current bluetooth profile + + ``` + &out OUT_BLE + ``` + +1. Behavior binding to toggle between preferring USB and BLE + + ``` + &out OUT_TOG + ``` diff --git a/docs/sidebars.js b/docs/sidebars.js index 334a35df..c8dc79fc 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -22,7 +22,7 @@ module.exports = { "behavior/mod-tap", "behavior/reset", "behavior/bluetooth", - "behavior/endpoints", + "behavior/outputs", "behavior/lighting", "behavior/power", ],