![]() * keycode_string(): Format keycodes as strings. This adds the `keycode_string()` function described in https://getreuer.info/posts/keyboards/keycode-string/index.html as a core feature. * Fix formatting. * keycode_string review revisions. * Rename keycode_string() -> get_keycode_string() for consistency with existing string utils like get_u8_str(). * Revise custom keycode names with separate _user and _kb tables. * Correct indent in builddefs/generic_features.mk. Co-authored-by: Ryan <fauxpark@gmail.com> * Add KC_NUHS, KC_NUBS, and KC_CAPS. * Fix linking error with custom names. * Attempt at simplifying interface. * Formatting fix. * Several fixes and revisions. * Don't use PSTR in KEYCODE_STRING_NAME, since this fails to build on AVR. Store custom names in RAM. * Revise the internal table of common keycode names to use its own storage representation, still in PROGMEM, and now more efficiently stored flat in 8 bytes per entry. * Support Swap Hands keycodes and a few other keycodes. * Revert "Formatting fix." This reverts commit 2a2771068c7ee545ffac4103aa07e847a9ec3816. * Revert "Attempt at simplifying interface." This reverts commit 8eaf67de76e75bc92d106a8b0decc893fbc65fa5. * Simplify custom names API by sigprof's suggestion. * Support more keycodes. * Add QK_LOCK keycode. * Add Secure keycodes. * Add Joystick keycodes. * Add Programmable Button keycodes. * Add macro MC_ keycodes. * For remaining keys in known code ranges, stringify them as "QK_<feature>+<number>". For instance, "QK_MIDI+7". * Bug fix and a few improvements. * Fix missing right-hand bit when displaying 5-bit mods numerically. * Support KC_HYPR, KC_MEH, HYPR_T(kc), MEH_T(kc). * Exclude one-shot keycodes when NO_ACTION_ONESHOT is defined. --------- Co-authored-by: Ryan <fauxpark@gmail.com> |
||
---|---|---|
.github | ||
.vscode | ||
builddefs | ||
data | ||
docs | ||
drivers | ||
keyboards | ||
layouts | ||
lib | ||
modules/qmk/hello_world | ||
platforms | ||
quantum | ||
tests | ||
tmk_core | ||
users | ||
util | ||
.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 | ||
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
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.