keyboard controller firmware for Atmel AVR and ARM USB families
Clone or download
nooges and drashna Keyboard: Add Quefrency 65 support in configurator (#3950)
* Fix Quefrency configurator layout to support new key added

* Add configurator support for Quefrency 65
Latest commit cfdc23b Sep 20, 2018
Failed to load latest commit information.
.vscode Xton's first keymap! (#2941) May 12, 2018
docs Remove redefinition of `_______` in documentation example (#3924) Sep 19, 2018
drivers ISSI31FL3733 driver (#3679) Aug 28, 2018
keyboards Keyboard: Add Quefrency 65 support in configurator (#3950) Sep 20, 2018
layouts Keymap: meagerfindings ergodox (#3920) Sep 19, 2018
lib Fix mismatched aliased event and event stub function prototypes. Sep 11, 2018
quantum Create AG_TOGG code to toggle Alt/Gui swap. Sep 17, 2018
tests add tests for action_layer.c and reset layer state after tests Dec 15, 2017
tmk_core Make `PREVENT_STUCK_MODIFIERS` the default (#3107) Sep 17, 2018
users Keymap: Talljoe's keymap for oddball keyboards (#3910) Sep 19, 2018
util Add an easy way to create new keymaps for your favorite keyboard (#3868) Sep 13, 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 improve looks like hang up when first time execute make git-submodule ( Sep 10, 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 Massdrop keyboard support (#3780) Aug 29, 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 Make `PREVENT_STUCK_MODIFIERS` the default (#3107) Sep 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.