feat(endpoints): rename behavior to outputs
"Outputs" is probably easier for most people to understand than "endpoints".
This commit is contained in:
parent
600bba25f0
commit
2fe1fbb526
11 changed files with 96 additions and 96 deletions
|
@ -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)
|
||||
|
|
|
@ -10,4 +10,4 @@
|
|||
#include <behaviors/rgb_underglow.dtsi>
|
||||
#include <behaviors/bluetooth.dtsi>
|
||||
#include <behaviors/ext_power.dtsi>
|
||||
#include <behaviors/endpoints.dtsi>
|
||||
#include <behaviors/outputs.dtsi>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
/ {
|
||||
behaviors {
|
||||
end: behavior_endpoints {
|
||||
compatible = "zmk,behavior-endpoints";
|
||||
label = "ENDPOINTS";
|
||||
#binding-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
9
app/dts/behaviors/outputs.dtsi
Normal file
9
app/dts/behaviors/outputs.dtsi
Normal file
|
@ -0,0 +1,9 @@
|
|||
/ {
|
||||
behaviors {
|
||||
out: behavior_outputs {
|
||||
compatible = "zmk,behavior-outputs";
|
||||
label = "OUTPUTS";
|
||||
#binding-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -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
|
|
@ -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
|
13
app/include/dt-bindings/zmk/outputs.h
Normal file
13
app/include/dt-bindings/zmk/outputs.h
Normal file
|
@ -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
|
|
@ -4,13 +4,13 @@
|
|||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#define DT_DRV_COMPAT zmk_behavior_endpoints
|
||||
#define DT_DRV_COMPAT zmk_behavior_outputs
|
||||
|
||||
#include <device.h>
|
||||
#include <devicetree.h>
|
||||
#include <drivers/behavior.h>
|
||||
|
||||
#include <dt-bindings/zmk/endpoints.h>
|
||||
#include <dt-bindings/zmk/outputs.h>
|
||||
|
||||
#include <zmk/behavior.h>
|
||||
#include <zmk/endpoints.h>
|
||||
|
@ -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);
|
|
@ -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 <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
|
||||
```
|
59
docs/docs/behavior/outputs.md
Normal file
59
docs/docs/behavior/outputs.md
Normal file
|
@ -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 <dt-bindings/zmk/outputs.h>
|
||||
```
|
||||
|
||||
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
|
||||
```
|
|
@ -22,7 +22,7 @@ module.exports = {
|
|||
"behavior/mod-tap",
|
||||
"behavior/reset",
|
||||
"behavior/bluetooth",
|
||||
"behavior/endpoints",
|
||||
"behavior/outputs",
|
||||
"behavior/lighting",
|
||||
"behavior/power",
|
||||
],
|
||||
|
|
Loading…
Add table
Reference in a new issue