Go to file
Zach White ef6329af7c
Create a system to map between info.json and config.h/rules.mk (#11548)
* generate rules.mk from a json mapping

* generate rules.mk from a json mapping

* support for config.h from json maps

* improve the mapping system

* document the mapping system

* move data/maps to data/mappings

* fix flake8 errors

* fixup LED_MATRIX_DRIVER

* remove product and description from the vision_division keymap level

* reduce the complexity of generate-rules-mk

* add tests for the generate commands

* fix qmk doctor when submodules are not clean
2021-01-31 12:46:00 -08:00
.github Yet another stab at trying to get github actions to push (#11230) 2020-12-16 23:00:02 +00:00
.vscode [Keyboard] add rhymestone by marksard (#9708) 2020-09-04 04:14:34 -07:00
api_data Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
bin Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
data Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
docs Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
drivers Include stdbool.h in uart.h (#11728) 2021-01-30 18:35:16 +11:00
keyboards Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
layouts check for BACKLIGHT_ENABLE so this works on all keyboards 2021-01-30 13:11:33 -08:00
lib Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
platforms/chibios UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
quantum Enforce memory allocator for ChibiOS builds with allocating debounce algorithms (#11630) 2021-01-29 20:13:56 -08:00
tests Missed a couple more #pragma onces (#11351) 2020-12-30 15:44:53 +00:00
tmk_core Merge remote-tracking branch 'upstream/master' into develop 2021-01-28 10:52:59 +11:00
users undef TAPPING_TERM in users/hvp/hvp.h 2021-01-30 13:11:33 -08:00
util Adds AT90USB162 support (#11570) 2021-01-29 19:53:56 -08:00
.clang-format fix indent size 2019-06-11 01:51:40 -07:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes Set eep files to binary mode 2016-08-27 18:37:28 +03:00
.gitignore Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
.gitmodules 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.travis.yml CI: Add workflow for codebase formatting (#7382) 2020-12-10 17:01:51 +00:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Adds AT90USB162 support (#11570) 2021-01-29 19:53:56 -08:00
build_full_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
build_json.mk Load keymap-level rules.mk when compiling keymap.json (#8841) 2020-04-18 14:29:48 +01:00
build_keyboard.mk Merge remote-tracking branch 'origin/master' into develop 2021-01-30 13:15:13 -08:00
build_layout.mk Allow for building layouts from keymap.json files. 2020-07-07 07:27:39 -07:00
build_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
common_features.mk Adds AT90USB162 support (#11570) 2021-01-29 19:53:56 -08:00
common.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
disable_features.mk Add a <FEATURE>_SUPPORTED flag (#9058) 2021-01-30 13:08:58 -08:00
Dockerfile Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
doxygen-todo Remove iWRAP protocol (#9284) 2020-08-29 14:30:02 -07:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
Makefile Configure keyboard matrix from info.json (#10817) 2020-12-30 10:27:37 -08:00
message.mk Configure keyboard matrix from info.json (#10817) 2020-12-30 10:27:37 -08:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Branch point for 2021 Feb 27 Breaking Change 2020-11-30 03:29:39 -08:00
requirements-dev.txt Use milc for config check, requirements fixes 2020-04-08 09:31:14 -07:00
requirements.txt Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
secrets.tar.enc update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
setup.cfg Use the schema to eliminate custom code (#11108) 2021-01-09 13:34:14 -08:00
shell.nix allow customizing decrease delay of rgb heatmap (#11322) 2021-01-14 11:29:00 -08:00
show_options.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
testlist.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
Vagrantfile Remove broken example from Makefile (#9159) 2020-05-21 20:33:20 +01:00

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

THIS IS THE DEVELOP BRANCH

Warning- This is the develop branch of QMK Firmware. You may encounter broken code here. Please see Breaking Changes for more information.

Original readme continues

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 Docsify and hosted on GitHub. 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, or by clicking the "Edit this page" link at the bottom of any page.

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.