59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
---
|
|
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
|
|
```
|