Skip to content

Commit 826e23a

Browse files
caksoylarnmunnich
andauthored
fixup! feat(docs): Add split keyboards feature page
Co-authored-by: Nicolas Munnich <[email protected]>
1 parent bdd2e92 commit 826e23a

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

docs/docs/features/split-keyboards.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ZMK supports split keyboard setups where two or more keyboard parts (also called
99
Currently ZMK only supports split keyboards that communicate with each other wirelessly over BLE.
1010
As such, only controllers that support BLE can be used with ZMK split keyboards.
1111

12-
Supporting split communication over wired protocols is planned, which would allow using ZMK split keyboards with non-wireless controllers.
12+
Supporting split communication over wired protocols is planned, allowing for ZMK split keyboards using non-wireless controllers.
1313
:::
1414

1515
## Central and Peripheral Roles
@@ -18,7 +18,7 @@ In ZMK splits, one keyboard part has the "central" role that receives key positi
1818
This part runs the necessary keymap logic to convert received events into HID events such as keycodes and then communicates with the connected host devices, e.g. over USB or bluetooth.
1919

2020
As a result of this architecture the internal keyboard state (like active layers) is shared and is mainly handled by the central part.
21-
However this also means that the peripheral parts _cannot_ communicate with host devices on their own, since they can only communicate with the central part.
21+
Peripherals _cannot_ communicate with host devices on their own, since they can only communicate with the central part.
2222
They will not present as keyboard devices when connected over USB and will not advertise as pairable BLE keyboards.
2323

2424
:::note[Latency considerations]
@@ -35,17 +35,19 @@ Also see the reference section on [split keyboards configuration](../config/syst
3535

3636
## Building and Flashing Firmware
3737

38-
Unlike some of the other firmware implementations, ZMK split keyboards require building and flashing different firmware files for each split part.
38+
ZMK split keyboards require building and flashing different firmware files for each split part.
3939
For instance when [using the GitHub workflow](../user-setup.mdx) to build two part split keyboards, two firmware files that typically contain `<keyboard>_left` and `<keyboard>_right` in the file names will be produced.
4040
These files need to be flashed to the respective controllers of the two halves.
4141

42+
:::tip[Updating your keymap]
4243
Since the keymap processing is primarily done on the central side, for keymap changes it will typically be enough to flash the controller of the central half.
4344
However if you make changes to [config files](../config/index.md) that should apply to all parts, you need to flash to all parts.
4445
Any changes in ZMK related to split keyboard features might also necessitate doing this.
46+
:::
4547

4648
## Pairing for Wireless Split Keyboards
4749

48-
Split keyboards with BLE-based split communications (which are all split keyboards that are officially supported) have an internal pairing procedure between the central and each peripheral.
50+
Split keyboards with BLE-based split communications (i.e. all officially supported split keyboards) have an internal pairing procedure between the central and each peripheral.
4951
When the central has an open slot for a peripheral, it will advertise for connections (which will not be visible to non-ZMK devices).
5052
Then, any peripheral that has not yet bonded to a peripheral will pair to it.
5153
Similar to how [bluetooth profiles](bluetooth.md) are managed between the keyboard and host devices, the bonding information will be stored with the corresponding hardware addresses of the other keyboard part, on both the central and peripheral.

0 commit comments

Comments
 (0)