feat(docs): Add references to new split keyboards page
This commit is contained in:
parent
5417aa4789
commit
8ad0c68b38
14 changed files with 16 additions and 18 deletions
|
@ -58,4 +58,4 @@ However the settings will only be saved after [`CONFIG_ZMK_SETTINGS_SAVE_DEBOUNC
|
||||||
|
|
||||||
## Split Keyboards
|
## Split Keyboards
|
||||||
|
|
||||||
Backlight behaviors are global: This means that when triggered, they affect both the central and peripheral side of split keyboards.
|
Backlight behaviors are [global](../features/split-keyboards.md#global-locality-behaviors): This means that when triggered, they affect both the central and peripheral side of split keyboards.
|
||||||
|
|
|
@ -70,4 +70,4 @@ However it will only be saved after [`CONFIG_ZMK_SETTINGS_SAVE_DEBOUNCE`](../con
|
||||||
|
|
||||||
## Split Keyboards
|
## Split Keyboards
|
||||||
|
|
||||||
Power management behaviors are global: This means that when triggered, they affects both the central and peripheral side of split keyboards.
|
Power management behaviors are [global](../features/split-keyboards.md#global-locality-behaviors): This means that when triggered, they affects both the central and peripheral side of split keyboards.
|
||||||
|
|
|
@ -44,8 +44,4 @@ Example:
|
||||||
|
|
||||||
## Split Keyboards
|
## Split Keyboards
|
||||||
|
|
||||||
Both basic and bootloader reset behaviors are source-specific: This means that it affects the side of the keyboard that contains the behavior binding for split keyboards. For example if you press a key with the `&sys_reset` binding on the left half of the keyboard, the left half will be reset. If you want to be able to reset both sides you can put the bindings on both sides of the keyboard and activate it on the side you would like to reset.
|
Both basic and bootloader reset behaviors are [source-specific](../features/split-keyboards.md##source-locality-behaviors): This means that it affects the side of the keyboard that contains the behavior binding for split keyboards. For example if you press a key with the `&sys_reset` binding on the left half of the keyboard, the left half will be reset. If you want to be able to reset both sides you can put the bindings on both sides of the keyboard and activate it on the side you would like to reset.
|
||||||
|
|
||||||
:::note[Peripheral invocation]
|
|
||||||
The peripheral side of the keyboard has to be paired and connected to the central side in order to be able to activate these behaviors, even if it is possible to trigger the behavior using only keys on that side. This is because the key bindings are processed on the central side which would then instruct the peripheral side to reset.
|
|
||||||
:::
|
|
||||||
|
|
|
@ -77,4 +77,4 @@ However the settings will only be saved after [`CONFIG_ZMK_SETTINGS_SAVE_DEBOUNC
|
||||||
|
|
||||||
## Split Keyboards
|
## Split Keyboards
|
||||||
|
|
||||||
RGB underglow behaviors are global: This means that when triggered, they affect both the central and peripheral side of split keyboards.
|
RGB underglow behaviors are [global](../features/split-keyboards.md#global-locality-behaviors): This means that when triggered, they affect both the central and peripheral side of split keyboards.
|
||||||
|
|
|
@ -24,7 +24,7 @@ When building with a `zmk-config` folder, ZMK will search the `zmk-config/config
|
||||||
|
|
||||||
These files hold your personal settings for the keyboard. All files are optional. If present, they override any configuration set in the board or shield folders. Otherwise, the default configuration and/or keymap is used.
|
These files hold your personal settings for the keyboard. All files are optional. If present, they override any configuration set in the board or shield folders. Otherwise, the default configuration and/or keymap is used.
|
||||||
|
|
||||||
When using a split keyboard, you can use a single file without the `_left` or `_right` suffix to configure both sides. For example, `corne.conf` and `corne.keymap` will apply to both `corne_left` and `corne_right`. If a shared config file exists, any left or right files will be ignored.
|
When using a [split keyboard](../features/split-keyboards.md), you can use a single file without the `_left` or `_right` suffix to configure both sides. For example, `corne.conf` and `corne.keymap` will apply to both `corne_left` and `corne_right`. If a shared config file exists, any left or right files will be ignored.
|
||||||
|
|
||||||
### Board Folder
|
### Board Folder
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ Note that `CONFIG_BT_MAX_CONN` and `CONFIG_BT_MAX_PAIRED` should be set to the s
|
||||||
|
|
||||||
### Split keyboards
|
### Split keyboards
|
||||||
|
|
||||||
Following split keyboard settings are defined in [zmk/app/src/split/Kconfig](https://github.com/zmkfirmware/zmk/blob/main/app/src/split/Kconfig) (generic) and [zmk/app/src/split/bluetooth/Kconfig](https://github.com/zmkfirmware/zmk/blob/main/app/src/split/bluetooth/Kconfig) (bluetooth).
|
Following [split keyboard](../features/split-keyboards.md) settings are defined in [zmk/app/src/split/Kconfig](https://github.com/zmkfirmware/zmk/blob/main/app/src/split/Kconfig) (generic) and [zmk/app/src/split/bluetooth/Kconfig](https://github.com/zmkfirmware/zmk/blob/main/app/src/split/bluetooth/Kconfig) (bluetooth).
|
||||||
|
|
||||||
| Config | Type | Description | Default |
|
| Config | Type | Description | Default |
|
||||||
| ------------------------------------------------------- | ---- | -------------------------------------------------------------------------- | ------------------------------------------ |
|
| ------------------------------------------------------- | ---- | -------------------------------------------------------------------------- | ------------------------------------------ |
|
||||||
|
|
|
@ -49,7 +49,7 @@ It is also possible to build firmware locally on your computer by following the
|
||||||
|
|
||||||
For normal keyboards, follow the same flashing instructions as before to flash your updated firmware.
|
For normal keyboards, follow the same flashing instructions as before to flash your updated firmware.
|
||||||
|
|
||||||
For split keyboards, only the central (left) side will need to be reflashed if you are just updating your keymap.
|
For [split keyboards](features/split-keyboards.md#building-and-flashing-firmware), only the central (left) side will need to be reflashed if you are just updating your keymap.
|
||||||
More troubleshooting information for split keyboards can be found [here](troubleshooting/connection-issues.mdx#split-keyboard-halves-unable-to-pair).
|
More troubleshooting information for split keyboards can be found [here](troubleshooting/connection-issues.mdx#split-keyboard-halves-unable-to-pair).
|
||||||
|
|
||||||
## Building Additional Keyboards
|
## Building Additional Keyboards
|
||||||
|
|
|
@ -346,7 +346,7 @@ if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)
|
||||||
endif()
|
endif()
|
||||||
```
|
```
|
||||||
|
|
||||||
For behaviors that do not require central locality, the following options for updating `app/CmakeLists.txt` also exist:
|
For behaviors that do not require [central locality](../features/split-keyboards.md#behaviors-with-locality), the following options for updating `app/CMakeLists.txt` also exist:
|
||||||
|
|
||||||
- Behavior applies to unibody, or central or peripheral half of keyboard: place `target_sources(app PRIVATE <behavior_name>.c)` line _before_ `if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)`
|
- Behavior applies to unibody, or central or peripheral half of keyboard: place `target_sources(app PRIVATE <behavior_name>.c)` line _before_ `if ((NOT CONFIG_ZMK_SPLIT) OR CONFIG_ZMK_SPLIT_ROLE_CENTRAL)`
|
||||||
- Behavior applies to _only_ central half of split keyboard: place `target_sources(app PRIVATE <behavior_name>.c)` after `if (CONFIG_ZMK_SPLIT AND CONFIG_ZMK_SPLIT_ROLE_CENTRAL)`
|
- Behavior applies to _only_ central half of split keyboard: place `target_sources(app PRIVATE <behavior_name>.c)` after `if (CONFIG_ZMK_SPLIT AND CONFIG_ZMK_SPLIT_ROLE_CENTRAL)`
|
||||||
|
|
|
@ -29,7 +29,7 @@ The high level steps are:
|
||||||
It may be helpful to review the upstream [shields documentation](https://docs.zephyrproject.org/3.5.0/hardware/porting/shields.html#shields) to get a proper understanding of the underlying system before continuing.
|
It may be helpful to review the upstream [shields documentation](https://docs.zephyrproject.org/3.5.0/hardware/porting/shields.html#shields) to get a proper understanding of the underlying system before continuing.
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
ZMK support for split keyboards requires a few more files than single boards to ensure proper connectivity between the central and peripheral units. Check the following guides thoroughly to ensure that all the files are in place.
|
ZMK support for [split keyboards](../features/split-keyboards.md) requires a few more files than single boards to ensure proper connectivity between the central and peripheral units. Check the following guides thoroughly to ensure that all the files are in place.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## New Zephyr Module Repository
|
## New Zephyr Module Repository
|
||||||
|
|
|
@ -5,7 +5,7 @@ sidebar_label: Battery Level
|
||||||
|
|
||||||
If your keyboard has a battery sensor, ZMK will report its battery level to the connected bluetooth host and show it on the keyboard's display, if it has one.
|
If your keyboard has a battery sensor, ZMK will report its battery level to the connected bluetooth host and show it on the keyboard's display, if it has one.
|
||||||
|
|
||||||
For split keyboards, only the battery level of the central (usually left) side is reported over bluetooth by default. ZMK can be [configured to report the battery levels for peripherals](../config/battery.md#peripheral-battery-monitoring), but not many host systems will display this information without additional configuration or the use of third party utilities.
|
For [split keyboards](split-keyboards.md), only the battery level of the central (usually left) side is reported over bluetooth by default. ZMK can be [configured to report the battery levels for peripherals](../config/battery.md#peripheral-battery-monitoring), but not many host systems will display this information without additional configuration or the use of third party utilities.
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ title: Bluetooth
|
||||||
sidebar_label: Bluetooth
|
sidebar_label: Bluetooth
|
||||||
---
|
---
|
||||||
|
|
||||||
ZMK's bluetooth functionality allows users to connect their keyboards to hosts using Bluetooth Low Energy (BLE) technology. It also is used for split keyboards to connect the two halves wirelessly.
|
ZMK's bluetooth functionality allows users to connect their keyboards to hosts using Bluetooth Low Energy (BLE) technology. It also is used for [split keyboards](split-keyboards.md) to connect the two halves wirelessly.
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ Key positions are numbered like the keys in your keymap, starting at 0. So, if t
|
||||||
- You are not limited to `&kp` bindings. You can use all ZMK behaviors there, like `&mo`, `&bt`, `&mt`, `<` etc.
|
- You are not limited to `&kp` bindings. You can use all ZMK behaviors there, like `&mo`, `&bt`, `&mt`, `<` etc.
|
||||||
|
|
||||||
:::note[Source-specific behaviors on split keyboards]
|
:::note[Source-specific behaviors on split keyboards]
|
||||||
Invoking a source-specific behavior such as one of the [reset behaviors](behaviors/reset.md) using a combo will always trigger it on the central side of the keyboard, regardless of the side that the keys corresponding to `key-positions` are on.
|
Invoking a [source-specific behavior](split-keyboards.md#source-locality-behaviors) such as one of the [reset behaviors](behaviors/reset.md) using a combo will always trigger it on the central side of the keyboard, regardless of the side that the keys corresponding to `key-positions` are on.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
See [combo configuration](/docs/config/combos) for advanced configuration options.
|
See [combo configuration](../config/combos.md) for advanced configuration options.
|
||||||
|
|
|
@ -24,7 +24,7 @@ export const Uf2Tabs = (props) => (
|
||||||
|
|
||||||
## Split Keyboard Halves Unable to Pair
|
## Split Keyboard Halves Unable to Pair
|
||||||
|
|
||||||
Split keyboard halves will automatically pair with one another, but there are some cases where this breaks, and the pairing needs to be reset, for example:
|
[Split keyboard](../features/split-keyboards.md) halves will automatically pair with one another, but there are some cases where this breaks, and the pairing needs to be reset, for example:
|
||||||
|
|
||||||
- Switching which halves are the central/peripheral.
|
- Switching which halves are the central/peripheral.
|
||||||
- Replacing the controller for one of the halves.
|
- Replacing the controller for one of the halves.
|
||||||
|
|
|
@ -209,6 +209,7 @@ connect to it wirelessly.
|
||||||
For split keyboards, only the central half (typically the left side) will send keyboard outputs over USB or advertise to other devices
|
For split keyboards, only the central half (typically the left side) will send keyboard outputs over USB or advertise to other devices
|
||||||
over bluetooth. Peripheral half will only send keystrokes to the central once they are paired and connected. For this reason it is
|
over bluetooth. Peripheral half will only send keystrokes to the central once they are paired and connected. For this reason it is
|
||||||
recommended to test the left half of a split keyboard first.
|
recommended to test the left half of a split keyboard first.
|
||||||
|
Please refer to [split keyboards documentation](features/split-keyboards.md) for more information.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -221,6 +222,7 @@ ZMK supports multiple BLE “profiles”, which allows you to connect to and swi
|
||||||
### Connecting Split Keyboard Halves
|
### Connecting Split Keyboard Halves
|
||||||
|
|
||||||
For split keyboards, after flashing each half individually you can connect them together by resetting them at the same time. Within a few seconds of resetting, both halves should automatically connect to each other.
|
For split keyboards, after flashing each half individually you can connect them together by resetting them at the same time. Within a few seconds of resetting, both halves should automatically connect to each other.
|
||||||
|
Please refer to [the pairing section in the split keyboards documentation](features/split-keyboards.md#pairing-for-wireless-split-keyboards) for more information.
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue