f70f45ee67
* rgb_matrix: use a driver ops struct This is intended to avoid #ifdef proliferation on adding more drivers, eg. model01, which use different architectures. * rgb_matrix: document driver struct members * rgb_matrix: remove unused LED testing code * rgb_matrix: don't build into IS31x drivers unless being used * rgb_matrix: refactor make config options This ensures that the necessary files are included for any custom RGB_MATRIX_ENABLE value, without having to add entries here for specific boards. This particularly affects model01 because its controller is integrated and won't be used anywhere else, so it's preferable not to put it in common_features.mk. This now validates the value of RGB_MATRIX_ENABLE. It was necessary to fix an error in ergodox_ez rules.mk using the wrong comment separator, yielding an invalid value. * IS31x drivers: don't write the control registers all the time This is only needed when they are changed. This is done in init() and board- or keymap-specific code is free to make further changes. * rgb_matrix: move structs from chip drivers to rgb_matrix_drivers.c This approach is specific to the rgb_matrix functionality, so keep it neatly separated from the raw chip drivers. |
||
---|---|---|
.vscode | ||
docs | ||
drivers | ||
keyboards | ||
layouts | ||
lib | ||
quantum | ||
tests | ||
tmk_core | ||
users | ||
util | ||
.clang_complete | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
autocomplete.sh | ||
book.json | ||
bootloader.mk | ||
build_full_test.mk | ||
build_keyboard.mk | ||
build_layout.mk | ||
build_test.mk | ||
CODE_OF_CONDUCT.md | ||
common_features.mk | ||
common.mk | ||
Dockerfile | ||
Doxyfile | ||
doxygen-todo | ||
LICENSE | ||
license_GPLv2.md | ||
license_GPLv3.md | ||
license_Modified_BSD.md | ||
Makefile | ||
message.mk | ||
readme.md | ||
secrets.tar.enc | ||
shell.nix | ||
testlist.mk | ||
Vagrantfile |
Quantum Mechanical Keyboard Firmware
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 Erez Zukerman, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.
Official website
http://qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.