Go to file
Sergey Vlasov a7b2f4233c
Fix keycode parameter extraction to match the new DD keycodes (#18977)
* Add macros to extract parameters from keycode values

Implement both encoding and decoding for keycodes like TO(layer) or
LM(layer, mod) in one place, so that the decoding won't get out of sync
with the encoding.

While at it, fix some macros for creating keycode values that did not
apply the appropriate masks to parameters (and therefore could allow the
result to be out of range if a wrong parameter was passed).

* keymap_common: Use extraction macros for keycodes

* pointing_device_auto_mouse: Use extraction macros for keycodes

Fixes #18970.

* process_autocorrect: Use extraction macros for keycodes

* process_caps_word: Use extraction macros for keycodes

(Also fix a minor bug - SH_TG was not handled properly)

* process_leader: Use extraction macros for keycodes

(Technically the code is not 100% correct, because it always assumes
that the LT() or MT() action was a tap, but it's a separate issue that
already existed before the keycode changes.)

* process_unicode: Use extraction macros for keycodes

* process_unicodemap: Use extraction macros for keycodes
2022-11-06 21:39:05 +00:00
.github Bump JamesIves/github-pages-deploy-action from 4.4.0 to 4.4.1 (#18702) 2022-10-13 23:27:03 +01:00
.vscode Exclude uf2 files in VS Code (#18186) 2022-08-28 09:59:07 -07:00
builddefs Remove thermal printer. (#18959) 2022-11-06 00:15:55 +11:00
data Reworked backlight keycodes. (#18961) 2022-11-06 08:11:59 +11:00
docs Reworked backlight keycodes. (#18961) 2022-11-06 08:11:59 +11:00
drivers Revert "mcp23018: add return status to init (#18178)" (#18709) 2022-10-29 22:33:47 +01:00
keyboards handwired/swiftrax/walter: fix layout mismatch (#18974) 2022-11-06 18:42:59 +00:00
layouts Reworked backlight keycodes. (#18961) 2022-11-06 08:11:59 +11:00
lib Macro keycode name refactoring (#18958) 2022-11-05 23:22:11 +11:00
platforms Merge remote-tracking branch 'origin/master' into develop 2022-11-06 09:05:52 -08:00
quantum Fix keycode parameter extraction to match the new DD keycodes (#18977) 2022-11-06 21:39:05 +00:00
tests Normalise Unicode keycodes (#18898) 2022-10-31 21:15:12 +00:00
tmk_core ChibiOS USB: Add a dummy IN callback to work around LLD bugs (#18811) 2022-10-22 18:16:09 +01:00
users Reworked backlight keycodes. (#18961) 2022-11-06 08:11:59 +11:00
util Merge remote-tracking branch 'origin/master' into develop 2022-10-16 20:31:26 +00:00
.clang-format Clang-format tweaks (#15906) 2022-02-11 20:00:34 -08:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes eol=lf, where appropriate (#15752) 2022-01-05 21:56:31 +00:00
.gitignore Remove some .gitignore files (#18689) 2022-10-13 08:36:51 +11:00
.gitmodules [Core] Add Raspberry Pi RP2040 support (#14877) 2022-06-30 13:19:27 +02:00
Dockerfile move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00
Doxyfile Internal docs generation updates (#16411) 2022-02-21 15:47:44 +00:00
doxygen-todo Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
Makefile docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
paths.mk Remove quantum/audio from global VPATH (#18753) 2022-10-20 14:41:45 +01:00
readme.md Branch point for 2022 Nov 26 Breaking Change 2022-08-28 14:27:52 +10:00
requirements-dev.txt Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
requirements.txt Align CLI requirements (#18117) 2022-08-21 18:38:17 +01:00
setup.cfg Quantum Painter (#10174) 2022-04-13 18:00:18 +10:00
shell.nix Nix shell updates for develop (#18131) 2022-08-23 02:59:33 +01:00
Vagrantfile move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00

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