or: Simplified QMK Uniquely Immaculate (and) Readable Runtime Editable Library
🚧 This project is currently under construction, so do not expect a usable result yet! 🚧
This is an implementation of SQUIRREL as a template example for a 5-key keyboard.
- external/ Exernal libraries, maintained seperatly to the project.
- src/ Source code of the project.
- main.c Main file, runs input checking and GPIOs.
- tinyusb/ Stores tinyusb config files.
- tusb_config.h Defines common configuration and device classes.
- usb_descriptors.c Defines manufacturer and product ID and other HID constants.
- usb_descriptors.h Defines HID report IDs.
- .gitignore Removes some files from version control to not track build results, etc.
- .gitmodules Defines the submodules (in external)
- CMakeLists.txt Defines how to build the project and its libraries.
- README.md This file (documentation and XC tasks.)
- shell.nix A nix shell file that provides a reproducable and declarative environment for building and debugging.
Directory: ./build
Builds the keyboard firmware.
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4 SQUIRREL-pico
Directory: ./build
Builds the keyboard firmware with debug build type.
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j4 SQUIRREL-pico
cp compile_commands.json ../ # Copies the autocomplete information for ccls.
Cleans the build directory for a fresh build.
rm -rf ./build
mkdir build
Fetches SQUIRREL and the pico-sdk submodules for use in the project.
git submodule update --init --recursive
Requires: init-submodules
This fetches the latest version of SQUIRREL and the pico-sdk from their remotes. Be careful of breaking changes!
git submodule update --remote