No description
Find a file
Liyang HU 383fae55c5
Refactor quantum/command.{c,h} for code size & {read,maintain}ability (#11842)
* quantum/command.c: coalesce `print()`s in `command_common_help()` & `print_version()`

Also undo some damage by clang-format in b624f32f94

* quantum/command.c: replace `print(…); print_{,val_}{dec,hex}*(…);` sequences with single `xprintf(…)`

`print_{dec,hex}*(…)` are just `#define`s for `xprintf(…)` anyway.

Each additional `xprintf(…)` costs ~8 bytes: the call instructions,
plus an additional NUL terminator.

This _really_ adds up: this commit saves 814 bytes on my ATmega32.

* quantum/command.c: optimise `mousekey_console()` for size & legibility

Made various tweaks to the interface, but still functionally identical.

Assume `KC_1`…`KC_0` to be contiguous, and removed `numkey2num(…)` entirely.
It was exported in `command.h` by 1a0bac8bcc for no obvious reason, before
which it was `static`. I doubt anyone uses it.

`mousekey_console()` is now enabled regardless of `MK_3_SPEED`.
Needs fleshing out for things other than the X11 variant though.

This commit saves 638 bytes on my ATmega32.
2021-08-07 17:12:57 +10:00
.github
.vscode
api_data
bin
data
docs Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
drivers
keyboards Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
layouts Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
lib Update ChibiOS-Contrib, mirroring script. (#13896) 2021-08-06 16:40:12 +10:00
nix
platforms/chibios
quantum Refactor quantum/command.{c,h} for code size & {read,maintain}ability (#11842) 2021-08-07 17:12:57 +10:00
tests
tmk_core Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404) 2021-08-07 09:16:26 +10:00
users Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
util Update ChibiOS-Contrib, mirroring script. (#13896) 2021-08-06 16:40:12 +10:00
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
.travis.yml
book.json
bootloader.mk
build_full_test.mk
build_json.mk
build_keyboard.mk
build_layout.mk
build_test.mk
CODE_OF_CONDUCT.md
common.mk
common_features.mk Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
disable_features.mk
Dockerfile
Doxyfile
doxygen-todo
LICENSE
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
Makefile
message.mk
nose2.cfg
readme.md
requirements-dev.txt
requirements.txt
secrets.tar.enc
setup.cfg
shell.nix
show_options.mk
testlist.mk
Vagrantfile

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.