No description
Find a file
Nick Brassel 2b00b846dc
Non-volatile memory data repository pattern (#24356)
* First batch of eeconfig conversions.

* Offset and length for datablocks.

* `via`, `dynamic_keymap`.

* Fix filename.

* Commentary.

* wilba leds

* satisfaction75

* satisfaction75

* more keyboard whack-a-mole

* satisfaction75

* omnikeyish

* more whack-a-mole

* `generic_features.mk` to automatically pick up nvm repositories

* thievery

* deferred variable resolve

* whitespace

* convert api to structs/unions

* convert api to structs/unions

* convert api to structs/unions

* fixups

* code-side docs

* code size fix

* rollback

* nvm_xxxxx_erase

* Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too.

* Fixup build.

* Fixup compilation error with encoders.

* Build fixes.

* Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof.

* Build failure rectification.
2025-03-21 23:38:34 +11:00
.github Merge remote-tracking branch 'origin/master' into develop 2025-03-16 08:45:02 +00:00
.vscode
builddefs Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
data Add the plywrks ply8x hotswap variant. (#23558) 2025-03-21 08:53:27 +11:00
docs Merge remote-tracking branch 'origin/master' into develop 2025-03-20 21:36:32 +00:00
drivers Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
keyboards Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
layouts Merge remote-tracking branch 'origin/master' into develop 2025-03-20 21:55:29 +00:00
lib [Core] use keycode_string in unit tests (#25042) 2025-03-21 08:47:22 +01:00
modules/qmk Add Super Alt-Tab macro example as module (#24970) 2025-03-21 09:12:46 +11:00
platforms
quantum Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
tests Non-volatile memory data repository pattern (#24356) 2025-03-21 23:38:34 +11:00
tmk_core
users
util [Core] use keycode_string in unit tests (#25042) 2025-03-21 08:47:22 +01:00
.clang-format
.clangd
.editorconfig
.gitattributes
.gitignore
.gitmodules
Doxyfile
doxygen-todo
LICENSE
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
Makefile
nose2.cfg
paths.mk
readme.md
requirements-dev.txt
requirements.txt Align to latest CLI dependencies (#24553) 2025-03-20 14:04:10 +11:00
setup.cfg
shell.nix

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.

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 VitePress. 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.

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.