keyboard controller firmware for Atmel AVR and ARM USB families
C C++ Makefile Objective-C Assembly Python Other
Clone or download
Failed to load latest commit information.
.vscode Xton's first keymap! (#2941) May 12, 2018
docs Update README with ordering information. Jul 17, 2018
drivers DC01 keyboard addition (#3428) Jul 18, 2018
keyboards rename MIT to 1x2uC for preonic Jul 21, 2018
layouts Update to drashna userspace and keymaps (#3172) Jul 17, 2018
lib gcc 8.10 compilation fix (#2914) May 10, 2018
quantum keymapping for hungarian layout added (#3438) Jul 19, 2018
tests add tests for action_layer.c and reset layer state after tests Dec 15, 2017
tmk_core add col type defines Jul 21, 2018
users Userspace update for user bbaserdem (#3443) Jul 19, 2018
util Added gentoo to installer (#3272) Jul 15, 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 create initial code of conduct Jun 28, 2017
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 Import userspace config.h according to USER_NAME (#2983) May 22, 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 Reset color after submodule warning message Jan 12, 2018 add discord link May 3, 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, and the Clueboard by Zach White.

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