elpekenin’s userspace¶
Caution
This is not an usual QMK external userspace. Instead I use a custom tool (qmk_build) to compile. The reason for this convoluted setup is to have an easy(TM) way of keeping me code out of tree while easily updating the QMK’s core code. Having a fork wasn’t good enough for me.
The structure is similar to a usual QMK repository:
keyboards/elpekenin/access
contains source for my custom PCB, and my keymap inside it.users/elpekenin
contains most of the logic, in case I want to reuse on other boards in the future. Structured as:src
: actual source (mostly C, but a bit of zig too).include
: header files.mk
: Makefile logic, broken into “small” sections.scripts
: Python that generates code at compile time.painter
: Quantum Painter assets.autocorrect
: database of corrections.3rd_party
: a couple of external dependencies that are used.docs
: files used to generate this page.
Then,
patches
andbuild.json
will put everything together into a clone ofqmk_firmware
to build.
This documentation is built using:
Sphinx . Documentation framework.
Furo. Theme for Sphinx styling.
Hawkmoth. Plugin to work with C code in Sphinx.
Of course, some writing in
.rst
files
Keep in mind that docs might be out of date with the actual code. However I’ve put quite some effort in generating it automatically from doc-comments in the code, in hopes to reduce this friction. If you find anything out-of-sync please let me know.