keyboard controller firmware for Atmel AVR and ARM USB families
Switch branches/tags
Clone or download
drashna Revert changes to chibiOS-contrib (#4176)
* Revert "Keymap: qwerty_code_friendly: use numpad layout for f-keys (#4170)"

This reverts commit efc88a0.

* Fix keymap
Latest commit 6c086f2 Oct 19, 2018
Failed to load latest commit information.
.vscode Xton's first keymap! (#2941) May 12, 2018
docs Some cleanup of the Useful Functions docs (#4064) Oct 19, 2018
drivers DC01 updates and I2C avr speed overwrite (#4088) Oct 8, 2018
keyboards added an ISO split spacebar layout, keymap and readme files (#4165) Oct 19, 2018
layouts Big Switch and 5x5 edits (#4168) Oct 19, 2018
lib Revert changes to chibiOS-contrib (#4176) Oct 19, 2018
quantum Fix Unicode EEPROM handling so it is consistent. (#4066) Oct 19, 2018
tests add tests for action_layer.c and reset layer state after tests Dec 15, 2017
tmk_core stm32f1xx EEPROM emulation (#3914) Oct 19, 2018
users Big Switch and 5x5 edits (#4168) Oct 19, 2018
util Enable support for Linux Mint 18 with (#4042) Oct 3, 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 Fix LAYOUT define generation (#4148) Oct 16, 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 Fix RGB Matrix feature processing in Sep 28, 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 Treat too-large firmwares as an error, not a warning (#3956) Sep 27, 2018 Add Atreus as an official board. Aug 16, 2018
secrets.tar.enc update building for .hex, secrets moving Aug 22, 2017
shell.nix Pin avr-gcc in shell.nix pending release of 8.3.0 (#3922) Sep 25, 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.