Using keymap-drawer with zmk-helpers
September 15, 2025 ยท View on GitHub
keymap-drawer is a popular tool that parses keymap
files and draws them in vector graphics (SVG). Since version 0.18.0, keymap-drawer supports using
zmk-helpers both as a Zephyr module and for traditional installations.
This document describes how to set up keymap-drawer to use zmk-helpers as a Zephyr module. For
traditional installations of zmk-helpers inside zmk-config/config/zmk-helpers, there is no need
to do anything specials; keymap-drawer will find the headers automatically.
Running keymap-drawer via Github Actions
-
Set up the Github Actions workflow following the instructions on the keymap-drawer repository
-
Add the following line to the
parse_configsection of your config file:parse_config: zmk_additional_includes: ["zmk-helpers/include"]By default the config file will be expected to be at
keymap_drawer.config.yamlat the repo root.
Running keymap-drawer locally
-
Make sure your have
keymap-drawerversion0.18.0or later installed -
Make sure you have a local copy of
zmk-helperssomewhere on your computer (or inside a Docker container) -
Add the path to
zmk-helpers/includetozmk_additional_includesin your keymap-drawer config file that you use withkeymap -c config.yaml parse ...:parse_config: zmk_additional_includes: ["/path/to/zmk-helpers/include"]Both absolute and relative path arguments are allowed. Relative paths must be specified relative to the working directory from which keymap-drawer is run.
For instance, if
zmk-helpersis installed in the root ofzmk-config(the default if automating the installation usingwest), and if you are runningkeymap-drawerfrom the root, then you would set the path tozmk-helpers/include.