Go to file
Cody Bender e77188458f
Add QMK Compile Context Sensitivity (#6884)
* Add context sensitive compile, without config check

* Initial full working state. Plan to refactor

* Refactor loop for simplicity, add comments

* Update docs/cli.md with qmk compile examples

* Simplify path for keyboard derivation

* Update path to use path.join instead of concat

* Refactor keyboard path, the skully way

* Add in keymap folder support

* Add /layouts compile support

* Update docs/cli.md with empty compile in layouts

* Add comments to compile.py

* Update docs for clarity, and fix compile error typo

* Fix config option compile

* Fix layout compile and failure mode

* Add rules.mk check

* Fix variable names for global config

* Add in_layout priority

* Remove default fallback in favor of throw, update docs

* Add keymap folder context

* Fix formatting

* Add os import

* Convert to create_make_command

* Fix Travis lint errors

* Remove blank line with whitespace

* Add blank lines for readability

* Remove unnecessary config logic

* Update Docs to add flash

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>

* Shift config precedence to MILC

Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
2020-02-07 21:48:37 +01:00
.github Fix typos in stale.yml (#7489) 2019-11-26 21:45:18 +00:00
.vscode Generalize Tap Dance Layer functions (#6629) 2019-09-21 11:22:27 -07:00
bin Add pep8-naming to our python linting 2019-12-01 13:40:14 -08:00
docs Add QMK Compile Context Sensitivity (#6884) 2020-02-07 21:48:37 +01:00
drivers Add thread safety around i2c_master for ChibiOS/ARM. 2020-02-01 17:44:39 +11:00
keyboards Refactor ergo42 to use split_common (#7925) 2020-02-07 13:59:18 +00:00
layouts fixup keymap for 65_ansi_blocker (#8099) 2020-02-05 18:29:52 +00:00
lib Add QMK Compile Context Sensitivity (#6884) 2020-02-07 21:48:37 +01:00
quantum Reduce SPLIT_USB_TIMEOUT by 500ms (#7637) 2020-02-04 19:37:04 -08:00
tests clang-format changes 2019-08-30 15:01:52 -07:00
tmk_core Use function for KEYCODE2 routines instead of macro. (#8101) 2020-02-07 12:53:43 +11:00
users ridingqwerty: userspace update (#8076) 2020-02-04 20:17:10 +01:00
util Fix/remove missing package (#7897) 2020-01-28 00:23:24 +00:00
.clang_complete
.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
.gitignore Remove entries for Minidox eep files from gitignore (#8077) 2020-02-04 18:30:57 -08:00
.gitmodules add lufa as a submodule 2019-08-30 15:01:52 -07:00
.travis.yml Fix unknown key 'IndentPPDirectives' on CI (#7933) 2020-01-19 13:59:57 -08:00
autocomplete.sh
book.json
bootloader.mk Add LUFA mass storage BOOTLOADER "support" (#7729) 2019-12-29 20:53:23 +00:00
build_full_test.mk
build_json.mk Add JSON keymap to prereq list of C keymap 2019-12-08 15:13:47 -08: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
CODE_OF_CONDUCT.md updates the coc 2019-08-24 12:43:39 -04:00
common_features.mk Relocate grave keycode processing (#8082) 2020-02-04 18:49:10 -08:00
common.mk Move Split Common VPATH addition (#4716) 2018-12-31 08:45:44 -08:00
Dockerfile Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Doxyfile
doxygen-todo Remove mbed files (#7605) 2019-12-11 11:36:00 -08:00
LICENSE
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
Makefile Allow 'make all:<user>' to not build EVERYTHING (#7402) 2019-11-20 22:32:16 +00:00
message.mk Update dirty submodule make message (#8065) 2020-02-02 13:24:29 +00:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md Improve docs "Edit Document" footer 2019-12-18 14:01:13 +11:00
requirements.txt Add pep8-naming to our python linting 2019-12-01 13:40:14 -08:00
secrets.tar.enc
setup.cfg Add flake8 to our test suite and fix all errors (#7379) 2019-11-20 14:54:18 -08:00
shell.nix Fix shell.nix by pinning nixpkgs (#6213) 2019-11-14 12:00:36 -08:00
show_options.mk Fix AVR boards which were overriding backlight without setting… (#8044) 2020-01-31 10:44:40 +11:00
testlist.mk
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 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.