zmk/docs/docs/behavior/outputs.md
Joel Spadin 2fe1fbb526 feat(endpoints): rename behavior to outputs
"Outputs" is probably easier for most people to understand than "endpoints".
2020-10-28 18:15:05 -05:00

1.7 KiB

title sidebar_label
Output Selection Behavior 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 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
    
  2. Behavior binding to prefer sending keyboard output to the current bluetooth profile

    &out OUT_BLE
    
  3. Behavior binding to toggle between preferring USB and BLE

    &out OUT_TOG