This repository provides a Docker workflow that allows you to build keyball 🎱 firmware based on qmk-firmware without having to install any dependencies on your local machine. This enables you to build keyball firmware on any platform that supports Docker, including Windows, macOS, and Linux.
- Cross-platform 🖥️: Build keyball 39, 44, and 61 firmware on any platform that supports Docker.
- Dependency-free 🆓: No need to install any dependencies on your local machine.
- Automated 🤖: Automatically download the required qmk-firmware and keyball repositories.
- Customizable 💪: Customize your keymap from your host machine.
-
Clone this repository:
git clone https://github.com/SoichiroYamane/qmk-docker-keyball.git
-
Build the Docker image:
docker compose up -d --build
It takes a while to build. If you have the built image, you can use
docker-compose up -d
to start the container. -
Enter the Docker container with fish shell:
docker compose exec qmk-docker-keyball fish
-
Build the keyball firmware:
make SKIP_GIT=yes keyball/keyball39:via
After this compile is done, you can find *.hex file in the build folder under following path:
docker
: /root/opt/buildhost
: ./build
-
Exit the Docker container and clean up:
Exit the Docker container:
exit
Stop and remove the Docker container:
docker compose down
-
Flash the firmware to your keyball:
- Use QMK Toolbox
- Use Pro Micro Web Updater
*.hex file is located in the
build
directory.
You can customize your keymap from your host machine. The keymap is located in the keyball/keyball39/keymaps/default
directory. You can modify the keymap.c
file to customize your keymap.
Execute the following commands in your host machine.
-
Move to the keymap direcotyr:
cd keyball/keyball39/keymaps
-
Copy from template:
cp -r via custom
-
Edit the keymap
-
Compile the firmware in the Docker container
docker compose up -d docker compose exec qmk-docker-keyball fish make SKIP_GIT=yes keyball/keyball39:custom exit docker compose down
-
Flash the firmware to your keyball:
Refer to the previous section.