My keymaps that were formerly in the main qmk firmware repository.
- Run the normal
qmk setup
procedure if you haven't already done so -- see QMK Docs for details. - Fork this repository
- Clone your fork to your local machine
- Add a new keymap for your board using
qmk new-keymap
- This will create a new keymap in the
keyboards
directory, in the same location that would normally be used in the main QMK repository. For example, if you wanted to add a keymap for the Planck, it will be created inkeyboards/planck/keymaps/<your keymap name>
- You can also create a new keymap using
qmk new-keymap -kb <your_keyboard> -km <your_keymap>
- Alternatively, add your keymap manually by placing it in the location specified above.
layouts/<layout name>/<your keymap name>/keymap.*
is also supported if you prefer the layout system
- This will create a new keymap in the
- Add your keymap(s) to the build by running
qmk userspace-add -kb <your_keyboard> -km <your_keymap>
- This will automatically update your
qmk.json
file - Corresponding
qmk userspace-remove -kb <your_keyboard> -km <your_keymap>
will delete it - Listing the build targets can be done with with
qmk userspace-list
- This will automatically update your
- Commit your changes
- Run the normal
qmk setup
procedure if you haven't already done so -- see QMK Docs for details. - Fork this repository
- Clone your fork to your local machine
cd
into this repository's clone directory- Set global userspace path:
qmk config user.overlay_dir="$(realpath .)"
-- you MUST be located in the cloned userspace location for this to work correctly- This will be automatically detected if you've
cd
ed into your userspace repository, but the above makes your userspace available regardless of your shell location.
- This will be automatically detected if you've
- Compile normally:
qmk compile -kb your_keyboard -km your_keymap
ormake your_keyboard:your_keymap
Alternatively, if you configured your build targets above, you can use qmk userspace-compile
to build all of your userspace targets at once.
If you wish to point GitHub actions to a different repository, a different branch, or even a different keymap name, you can modify .github/workflows/build_binaries.yml
to suit your needs.
To override the build
job, you can change the following parameters to use a different QMK repository or branch:
with:
qmk_repo: qmk/qmk_firmware
qmk_ref: master
If you wish to manually manage qmk_firmware
using git within the userspace repository, you can add qmk_firmware
as a submodule in the userspace directory instead. GitHub Actions will automatically use the submodule at the pinned revision if it exists, otherwise it will use the default latest revision of qmk_firmware
from the main repository.
This can also be used to control which fork is used, though only upstream qmk_firmware
will have support for external userspace until other manufacturers update their forks.
- (First time only)
git submodule add https://github.com/qmk/qmk_firmware.git
- (To update)
git submodule update --init --recursive
- Commit your changes to your userspace repository