qmk_firmware/quantum/process_keycode
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
..
autocorrect_data_default.h [Core] Add getreuer's Autocorrect feature to core (#15699) 2022-09-17 17:50:54 +10:00
process_audio.c Align audio keycode names (#18962) 2022-11-05 17:05:19 +00:00
process_audio.h added missing audio_off_user() callback (#15457) 2021-12-11 16:58:25 -08:00
process_auto_shift.c Normalise Auto Shift keycodes (#18892) 2022-10-28 13:53:15 +01:00
process_auto_shift.h Remove use of legacy keycode (#18281) 2022-09-06 05:25:32 +01:00
process_autocorrect.c Fix keycode parameter extraction to match the new DD keycodes (#18977) 2022-11-06 21:39:05 +00:00
process_autocorrect.h [Core] Add getreuer's Autocorrect feature to core (#15699) 2022-09-17 17:50:54 +10:00
process_backlight.c Reworked backlight keycodes. (#18961) 2022-11-06 08:11:59 +11:00
process_backlight.h 2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
process_caps_word.c Fix keycode parameter extraction to match the new DD keycodes (#18977) 2022-11-06 21:39:05 +00:00
process_caps_word.h [Core] Add Caps Word feature to core (#16588) 2022-05-14 16:00:32 +10:00
process_clicky.c Align audio keycode names (#18962) 2022-11-05 17:05:19 +00:00
process_clicky.h Change include guards in quantum/ to pragma once (#11239) 2020-12-26 15:53:12 +11:00
process_combo.c Normalise Combo keycodes (#18877) 2022-10-27 13:59:58 +01:00
process_combo.h Manually format develop (#15003) 2021-11-01 19:18:33 +00:00
process_dynamic_macro.c Normalise Dynamic Macro keycodes (#18939) 2022-11-03 23:01:06 +00:00
process_dynamic_macro.h [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
process_dynamic_tapping_term.c Align dynamic tapping term keycode names (#18963) 2022-11-05 16:58:30 +00:00
process_dynamic_tapping_term.h New feature: DYNAMIC_TAPPING_TERM_ENABLE (#11036) 2021-11-26 07:06:50 +11:00
process_grave_esc.c Rename some Quantum keycodes (#15968) 2022-01-22 03:34:15 +00:00
process_grave_esc.h Relocate grave keycode processing (#8082) 2020-02-04 18:49:10 -08:00
process_haptic.c Rip out old macro and action_function system (#16025) 2022-01-24 21:22:20 +00:00
process_haptic.h Haptic: driver-> feature (#13713) 2021-07-25 19:14:58 -07:00
process_joystick.c Initial DD keycode migration (#18643) 2022-11-05 10:30:09 +00:00
process_joystick.h Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
process_key_lock.c Deprecate KC_LOCK for QK_LOCK (#18796) 2022-10-21 15:46:10 +01:00
process_key_lock.h Added cancel_key_lock function (#15321) 2021-11-29 00:17:07 -08:00
process_key_override.c Deprecate KEY_OVERRIDE_* keycodes for KO_* (#18843) 2022-10-25 14:45:57 +01:00
process_key_override.h Minor tidy up of key overrides (#13747) 2021-07-28 12:01:49 +01:00
process_leader.c Fix keycode parameter extraction to match the new DD keycodes (#18977) 2022-11-06 21:39:05 +00:00
process_leader.h Fix bad PR merge for #6580. (#12721) 2021-04-28 11:42:53 +01:00
process_magic.c Initial DD keycode migration (#18643) 2022-11-05 10:30:09 +00:00
process_magic.h Relocate magic keycode processing (#7512) 2019-12-03 19:48:55 +00:00
process_midi.c Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
process_midi.h Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
process_music.c Align audio keycode names (#18962) 2022-11-05 17:05:19 +00:00
process_music.h Format code according to conventions (#16322) 2022-02-12 18:29:31 +00:00
process_programmable_button.c Initial DD keycode migration (#18643) 2022-11-05 10:30:09 +00:00
process_programmable_button.h Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
process_rgb.c Allow for RGB actions to take place on Keydown instead of Keyup (#16886) 2022-07-02 22:49:49 +10:00
process_rgb.h Relocate RGB keycode processing (#7508) 2019-12-16 12:27:53 -08:00
process_secure.c Deprecate SECURE_* keycodes for QK_SECURE_* (#18847) 2022-10-25 22:59:17 +01:00
process_secure.h Implement XAP 'secure' core requirements (#16843) 2022-04-16 11:13:05 -07:00
process_sequencer.c 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
process_sequencer.h 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
process_space_cadet.c Normalise Space Cadet keycodes (#18864) 2022-10-27 11:19:16 +01:00
process_space_cadet.h Fix Tap-Hold Configs (#11127) 2021-01-04 16:37:20 -08:00
process_steno.c Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07:00
process_steno.h Refactor steno and add STENO_PROTOCOL = [all|txbolt|geminipr] (#17065) 2022-06-23 20:43:24 +02:00
process_tap_dance.c Fix layer switching from tap dances by redoing the keymap lookup (#17935) 2022-10-03 20:48:16 +11:00
process_tap_dance.h Fix layer switching from tap dances by redoing the keymap lookup (#17935) 2022-10-03 20:48:16 +11:00
process_ucis.c Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
process_ucis.h Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
process_unicode.c Fix keycode parameter extraction to match the new DD keycodes (#18977) 2022-11-06 21:39:05 +00:00
process_unicode.h Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
process_unicode_common.c Normalise Unicode keycodes (#18898) 2022-10-31 21:15:12 +00:00
process_unicode_common.h Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
process_unicodemap.c Fix keycode parameter extraction to match the new DD keycodes (#18977) 2022-11-06 21:39:05 +00:00
process_unicodemap.h Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00