𝘍𝘭𝘢𝘴𝘩𝘪𝘯𝘨 𝐐𝐌𝐊 - BFGriffith/qmk_firmware GitHub Wiki
To use a fork of the 𝐐𝐌𝐊 firmware to flash 𝐐𝐌𝐊, begin by creating a personal fork of the official 𝐐𝐌𝐊 repository on GitHub. Once forked, clone your personal fork to your local machine using the command
git clone https://github.com/yourusername/qmk_firmware.git
. If you're using a specific fork, such as the Framework Computer fork for theFramework 16
, clone it directly withgit clone [email protected]:FrameworkComputer/qmk_firmware.git
and check out the required tag, likev0.2.9
, as the default branch may not contain the necessary keyboard support.
- After cloning, set up your build environment. If you are using the
𝐐𝐌𝐊 command-line tool
, you can useqmk setup /path/to/your/fork
to configure it. This step ensures the environment is correctly initialized for building firmware. For theFramework 16
, you must also configure Linux udev rules to ensure the device is recognized as a mass storage device during flashing. - Next, create a new directory for your custom keymap within the
keyboards/
directory of your fork, copying the default keymap into it. Modify thekeymap.c
,config.h
, andrules.mk
files as needed for your custom configuration. - To build the firmware, use the
qmk compile
command with the appropriate keyboard and keymap paths, for example:qmk compile -kb keyboard_name/keymap_name -km your_keymap
… For the Framework 16, building is done using a container with the target in the formatKEYBOARD:KEYMAP:TARGET
. This process generates a firmware file, such as a.uf2
file, in your current directory. - Finally, flash the firmware. For devices using the
DFU bootloader
, use tools likedfu-programmer
with the commandserase --force
,flash --force
, andreset
. - For the
Framework 16
, which uses anRP2040 microcontroller
, connect an external keyboard, put the device into bootloader mode, and copy the generated firmware file to the mounted mass storage device. For other keyboards, tools likeQMK Toolbox
orpok3rtool
may be required, depending on the hardware. - After flashing, you can use the
VIA
application to configure key mappings, ensuring you use the correctVIA v3
definition file for your keyboard model.