keyboard controller firmware for Atmel AVR and ARM USB families
C C++ Makefile Objective-C Assembly Python Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.vscode Xton's first keymap! (#2941) May 12, 2018
docs First pass at reorganizing docs Aug 16, 2018
drivers Rgb matrix arm (#3648) Aug 15, 2018
keyboards Keyboard: UT47 Configurator support and readme cleanup (#3708) Aug 21, 2018
layouts Keyboard: add Telophase board (and Graham's keymaps) (#3244) Aug 19, 2018
lib gcc 8.10 compilation fix (#2914) May 10, 2018
quantum Rgb matrix arm (#3648) Aug 15, 2018
tests add tests for action_layer.c and reset layer state after tests Dec 15, 2017
tmk_core Tidy up keycode.h (#3666) Aug 16, 2018
users Added arrow layout. Aug 19, 2018
util Fix Typos in echo Aug 11, 2018
.clang_complete Vim Layout for Ergodox-EZ (mac only) (#2112) Dec 12, 2017
.editorconfig Fix .editorconfig to not mess with line endings Feb 3, 2018
.gitattributes Squashed 'lib/lufa/' changes from 385d403..a44056fb9 Jul 7, 2017
.gitignore Ajp10304 (#2719) Apr 15, 2018
.gitmodules Update .gitmodules Nov 16, 2017
.travis.yml Generate API docs from source code comments (#2491) Mar 22, 2018 Update Aug 1, 2018
Dockerfile Reverting CMD Changes Aug 19, 2017
Doxyfile Generate API docs from source code comments (#2491) Mar 22, 2018
LICENSE add an explicit lisence file for github to pickup Nov 14, 2017
Makefile Correct parsing of for keyboard revisions Jul 17, 2018
Vagrantfile removed unused boxes (qmk won't compile with them anyway), updated we… Jun 29, 2018 Make arguments redo, subproject elimination (#1784) Oct 14, 2017
book.json adds redirects for docs Aug 19, 2017 Add Teensy ++ 2.0 bootloader support May 9, 2018 Add SRC and OPT_DEFS when building tests Jul 20, 2017 Comment and organize a bit Aug 11, 2018 Creates a layouts/ folder for keymaps shared between keyboards (#1609) Aug 24, 2017 Split into and Jun 18, 2017 Lets split eh (#3120) Jul 17, 2018 Lets split eh (#3120) Jul 17, 2018
doxygen-todo Generate API docs from source code comments (#2491) Mar 22, 2018 Clarify the quantum license (#1042) Mar 28, 2017 Clarify the quantum license (#1042) Mar 28, 2017 Clarify the quantum license (#1042) Mar 28, 2017 change messege at 'check-size' target Aug 16, 2018 Add Atreus as an official board. Aug 16, 2018
secrets.tar.enc update building for .hex, secrets moving Aug 22, 2017
shell.nix allow building with nix on darwin Jul 15, 2018 Add basic infrastrucure for building full tests Jun 18, 2017

Quantum Mechanical Keyboard Firmware

Current Version Build Status 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.


The docs are hosted on Gitbook and GitHub (they are synced). You can request changes by making a fork and pull request, or by clicking the "suggest an edit" link on any page of the docs.

Supported Keyboards

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


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 Erez Zukerman, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

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