GitHunt
N1

n1ghtmare/qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families

Quantum Mechanical Keyboard Firmware

Current Version
Discord
Docs Status
GitHub contributors
GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are powered by VitePress. They are also viewable offline; see Previewing the Documentation for more details.

You can request changes by making a fork and opening a pull request.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official Website

qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.

Installation

To install (on Arch), run:

$ sudo pacman -S qmk

Then clone this repo (this guide assuesm ~/Dev-Config/), and run:

$ qmk setup -H ~/Dev-Config/qmk_firmware

Flashing the Sofle

In order to flash the sofle, disconnect the keyboard from the computer, then detach the TRRS cable between the halves. Then connect one half first, and run:

$ qmk flash -kb sofle/rev1 -km n1ghtmare

When asked to reset your controller press the reset button next to the OLED screen (bottom right).

Flashing the Sofle Choc

In order to flash the sofle choc, disconnect the keyboard from the computer, then detach the TRRS cable between the halves. Then connect the left half first, and double press the button below the OLED screens. This will cause the half to appear as a USB storage device on the system, if you're on Linux do:

$ lsblk -f

Find the newly attached device (in this example it's /dev/sdd1), then mount it to a folder of your choosing:

$ sudo mount /dev/sdd1 ~/Mount/soflechoc

Go to the qmk folder (in this case it's ~/Dev-Config/qmk_firmware/), and switch to the choc2 branch. You might need to run:

$ qmk clean --all

Now compile the firmware using the following command:

$ qmk compile -kb sofle_choc -km n1ghtmare -e CONVERT_TO=promicro_rp2040

Once the compile is done, a new file will appear in the qmk folder. Copy that file to the folder the USB flash device was mounted to (in this case ~/Mount/soflechoc/). Disconnect the half, connect the other one, mount it and copy the same file to it.