⌨️ Open-source keyboard firmware for Atmel AVR and Arm USB families
Find a file
skullydazed d569f08771
Configuration system for CLI (#6708)
* Rework how bin/qmk handles subcommands

* qmk config wip

* Code to show all configs

* Fully working `qmk config` command

* Mark some CLI arguments so they don't pollute the config file

* Fleshed out config support, nicer subcommand support

* sync with installable cli

* pyformat

* Add a test for subcommand_modules

* Documentation for the `qmk config` command

* split config_token on space so qmk config is more predictable

* Rework how subcommands are imported

* Document `arg_only`

* Document deleting from CLI

* Document how multiple operations work

* Add cli config to the doc index

* Add tests for the cli commands

* Make running the tests more reliable

* Be more selective about building all default keymaps

* Update new-keymap to fit the new subcommand style

* Add documentation about writing CLI scripts

* Document new-keyboard

* Update docs/cli_configuration.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/cli_development.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/cli_development.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/cli_development.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Address yan's comments.

* Apply suggestions from code review

suggestions from @noahfrederick

Co-Authored-By: Noah Frederick <code@noahfrederick.com>

* Apply suggestions from code review

Co-Authored-By: Noah Frederick <code@noahfrederick.com>

* Remove pip3 from the test runner
2019-09-22 13:25:33 -07:00
.github Tweak issue templates (capitalisation mostly) (#5133) 2019-02-14 20:44:27 -08:00
.vscode Generalize Tap Dance Layer functions (#6629) 2019-09-21 11:22:27 -07:00
bin Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
docs Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
drivers DRV2605L Continuous Haptic Feedback Support (#6461) 2019-09-19 09:42:33 -07:00
keyboards [Keyboard] fix OLKB layout macro aliases (#6761) 2019-09-21 11:32:08 -07:00
layouts [Keymap] Big Drashna code update (#6639) 2019-09-07 08:57:30 -07:00
lib Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
quantum Generalize Tap Dance Layer functions (#6629) 2019-09-21 11:22:27 -07:00
tests clang-format changes 2019-08-30 15:01:52 -07:00
tmk_core Fixing wrapping math logic for timer_expired functions (#6746) 2019-09-23 00:52:33 +10:00
users [Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537) 2019-09-21 11:04:27 -07:00
util Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
.clang-format fix indent size 2019-06-11 01:51:40 -07:00
.clang_complete Vim Layout for Ergodox-EZ (mac only) (#2112) 2017-12-11 21:06:05 -05: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 Correct casing for DS_Store in .gitignore (#6787) 2019-09-22 21:32:52 +10:00
.gitmodules add lufa as a submodule 2019-08-30 15:01:52 -07:00
.travis.yml Always run util/travis_compiled_push.sh (#6640) 2019-09-01 09:09:19 -07:00
autocomplete.sh Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Update bootloader.mk (#6698) 2019-09-18 09:48:58 +10:00
build_full_test.mk Add SRC and OPT_DEFS when building tests 2017-07-20 10:17:31 -04:00
build_json.mk Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
build_keyboard.mk add 'objs-size' target into tmk_core/avr.mk (#5490) 2019-07-15 22:45:31 -07:00
build_layout.mk Add a mechanism for force building a particular community layout (#5027) 2019-02-14 20:14:26 -08:00
build_test.mk Split common.mk into common.mk and common_features.mk 2017-06-18 21:22:22 +03:00
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
common.mk Move Split Common VPATH addition (#4716) 2018-12-31 08:45:44 -08:00
common_features.mk Fix enables for Haptic Feedback (#6707) 2019-09-14 19:57:07 -07: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 Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04: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 Add list-keymaps make target (#5563) 2019-09-21 00:00:58 -07:00
message.mk Add list-keymaps make target (#5563) 2019-09-21 00:00:58 -07:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Merge point for 2019 Aug 30 Breaking Change 2019-08-30 15:01:52 -07:00
requirements.txt Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
secrets.tar.enc update building for .hex, secrets moving 2017-08-21 21:57:46 -04:00
setup.cfg QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
shell.nix add python3 to shell.nix (#6774) 2019-09-21 11:59:18 -07:00
show_options.mk Add Dip Switch as a core feature (#6140) 2019-09-03 08:34:31 -07:00
testlist.mk Add basic infrastrucure for building full tests 2017-06-18 21:08:23 +03:00
Vagrantfile Configure Vagrant to use qmk_base_container (#6194) 2019-07-16 01:20:34 -07:00

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.

Documentation

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.

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.