Addressing #138 - ZMK Config Folders
This commit is contained in:
parent
a7e8655287
commit
677746014c
1 changed files with 27 additions and 1 deletions
|
@ -1,10 +1,21 @@
|
||||||
---
|
---
|
||||||
id: customization
|
id: customization
|
||||||
title: Customizing ZMK
|
title: Customizing ZMK/`zmk-config` folders
|
||||||
sidebar_label: Customizing ZMK
|
sidebar_label: Customizing ZMK
|
||||||
---
|
---
|
||||||
|
|
||||||
After verifying you can successfully flash the default firmware, you will probably want to begin customizing your keymap and other keyboard options.
|
After verifying you can successfully flash the default firmware, you will probably want to begin customizing your keymap and other keyboard options.
|
||||||
|
[In the initial setup tutorial](user-setup), you created a Github repository called `zmk-config`. This repository is a discrete filesystem which works
|
||||||
|
with the main `zmk` firmware repository to build your desired firmware. The main advantage of a discrete configuration folder is ensuring that the
|
||||||
|
working components of ZMK are kept separate from your personal keyboard settings, reducing the amount of file manipulation in the configuration process.
|
||||||
|
This makes flashing ZMK to your keyboard much easier, especially because you don't need to keep an up-to-date copy of zmk on your computer at all times.
|
||||||
|
|
||||||
|
On default `zmk-config` folder should contain two files:
|
||||||
|
* `<shield>.conf`
|
||||||
|
* `<shield>`.keymap
|
||||||
|
|
||||||
|
However, your config folder can also be modified to include a `boards/` directory for keymaps and configurations for multiple boards/shields
|
||||||
|
outside of the default keyboard setting definitions.
|
||||||
|
|
||||||
## Configuration Changes
|
## Configuration Changes
|
||||||
|
|
||||||
|
@ -26,8 +37,23 @@ GitHub Actions job to build your firmware which you can download once it complet
|
||||||
If you need to, a review of [Learn The Basics Of Git In Under 10 Minutes](https://www.freecodecamp.org/news/learn-the-basics-of-git-in-under-10-minutes-da548267cc91/) will help you get these steps right.
|
If you need to, a review of [Learn The Basics Of Git In Under 10 Minutes](https://www.freecodecamp.org/news/learn-the-basics-of-git-in-under-10-minutes-da548267cc91/) will help you get these steps right.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## Building from a local `zmk` fork using `zmk-config`
|
||||||
|
|
||||||
|
[As outlined here](dev-build-flash), firmware comes in the form of .uf2 files, which can be built locally using the command `west build`. Normally,
|
||||||
|
`west build` will default to using the in-tree .keymap and .conf files found in your local copy of the `zmk` repository. However, you can append the command, `-DZMK_CONFIG="C:/the/absolute/path/config"` to `west build` in order to use the contents of your `zmk-config` folder instead of the
|
||||||
|
default keyboard settings.
|
||||||
|
**Notice that this path should point to the folder labelled `config` within your `zmk-config` folder.**
|
||||||
|
|
||||||
|
|
||||||
|
For instance, building kyria firmware from a user `myUser`'s `zmk-config` folder on Windows 10 may look something like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
west build -b nice_nano -- -DSHIELD=kyria_left -DZMK_CONFIG="C:/Users/myUser/Documents/Github/zmk-config/config"
|
||||||
|
```
|
||||||
|
|
||||||
## Flashing Your Changes
|
## Flashing Your Changes
|
||||||
|
|
||||||
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, 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#split-keyboard-halves-unable-to-pair).
|
||||||
|
|
Loading…
Reference in a new issue