Open-source keyboard firmware for Atmel AVR and Arm USB families
Go to file
Zach White 08ce0142ba
Macros in JSON keymaps (#14374)
* macros in json keymaps

* add advanced macro support to json

* add a note about escaping macro strings

* add simple examples

* format json

* add support for language specific keymap extras

* switch to dictionaries instead of inline text for macros

* use SS_TAP on the innermost tap keycode

* add the new macro format to the schema

* document the macro limit

* add the json keyword for syntax highlighting

* fix format that vscode screwed up

* Update feature_macros.md

* add tests for macros

* change ding to beep

* add json support for SENDSTRING_BELL

* update doc based on feedback from sigprof

* document host_layout

* remove unused var

* improve carriage return handling

* support tab characters as well

* Update docs/feature_macros.md

Co-authored-by: Nick Brassel <nick@tzarc.org>

* escape backslash characters

* format

* flake8

* Update quantum/quantum_keycodes.h

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-22 11:11:35 -08:00
.github Merge remote-tracking branch 'origin/master' into develop 2021-11-20 22:45:49 +00:00
.vscode remove Bracket Pair Colorizer recommendation (#14816) 2021-10-15 11:54:19 +11:00
api_data
builddefs Add support for deferred executors. (#14859) 2021-11-15 18:21:09 +00:00
data Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
docs Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
drivers Format code according to conventions (#15193) 2021-11-18 07:28:38 +11:00
keyboards Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
layouts Require explicit enabling of RGB Matrix modes (#15018) 2021-11-15 10:41:04 -08:00
lib Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
platforms [Core] RISC-V toolchain and picolibc fixes (#15109) 2021-11-20 20:04:16 +00:00
quantum Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
tests Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
tmk_core [Bug] Fix timer include in override_wiring.c (#15221) 2021-11-19 21:22:45 +00:00
users Merge remote-tracking branch 'origin/master' into develop 2021-11-17 20:46:24 +00:00
util Merge remote-tracking branch 'origin/master' into develop 2021-11-20 22:01:53 +00:00
.clang-format
.editorconfig
.gitattributes [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) 2021-04-03 08:05:46 -07:00
.gitignore New CLI subcommand to create clang-compatible compilation database (compile_commands.json) (#14370) 2021-09-16 14:59:57 +10:00
.gitmodules Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
book.json
build_full_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
build_json.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_keyboard.mk Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
build_layout.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_test.mk Rework encoders to enable asymmetric split keyboards (#12090) 2021-11-20 09:06:08 -08:00
common_features.mk Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
Dockerfile move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00
Doxyfile
doxygen-todo Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
LICENSE
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
Makefile Migrate makefile utilities to sub-directory (#14917) 2021-10-28 01:07:53 +01:00
nose2.cfg
paths.mk Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
readme.md [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
requirements-dev.txt Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
requirements.txt switch to qmk-dotty-dict (#13460) 2021-07-14 09:08:48 -07:00
setup.cfg Use the schema to eliminate custom code (#11108) 2021-01-09 13:34:14 -08:00
shell.nix Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
testlist.mk Rework encoders to enable asymmetric split keyboards (#12090) 2021-11-20 09:06:08 -08:00
Vagrantfile move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00

Quantum Mechanical Keyboard Firmware

Current Version 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.