qmk-firmware/quantum
Drashna Jaelre 542cb0a8ce [Core] Convert Dynamic Macro to a Core Feature (#5948)
* Convert Dynamic Macro to a Core Feature

This imports the code from Dynamic Macro into the core code, and handles it, as such.

This deprecates the old method but does not remove it, for legacy support. This way, no existing user files need to be touched.

Additionally, this reorganizes the documentation to better reflect the changes.

Also, it adds user hooks to the feature so users can customize the existing functionality.

Based heavily on and closes #2976

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Cleanup based on feedback

* Add short-form keycodes and document them

- add short-form keycodes to quantum/quantum_keycodes.h
- document the new aliases in docs/feature_dynamic_macros.md

* Add Dynamic Macros section and keycodes to docs/keycodes.md

* Make anti-nesting optional

* Add documentation for DYNAMIC_MACRO_NO_NESTING option

* Fix Merge artifacts

* Fix formatting typo in docs

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

* Remove DYNAMIC_MACRO_RANGE as it's not needed

* Fix includes and layer var type
2019-11-04 22:59:13 -08:00
..
api clang-format changes 2019-08-30 15:01:52 -07:00
audio clang-format changes 2019-08-30 15:01:52 -07:00
backlight Initial migration of software PWM backlight (#6709) 2019-11-02 21:20:03 +00:00
debounce clang-format changes 2019-08-30 15:01:52 -07:00
keymap_extras Fix formatting for sendstring LUTs (#7176) 2019-10-28 15:54:05 -07:00
process_keycode [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
rgb_matrix_animations clang-format changes 2019-08-30 15:01:52 -07:00
rgb_matrix_runners clang-format changes 2019-08-30 15:01:52 -07:00
serial_link clang-format changes 2019-08-30 15:01:52 -07:00
split_common Remove duplicate pro_micro.h (#7246) 2019-11-03 22:35:43 +00:00
stm32 Use task driven PWM for CTPC until ARM can provide automatic configuration (#6928) 2019-11-02 21:21:00 +00:00
template Template updates (#7221) 2019-11-01 19:06:03 -07:00
tools Backlight abstraction and other changes (#439) 2016-06-23 22:18:20 -04:00
visualizer clang-format changes 2019-08-30 15:01:52 -07:00
api.c clang-format changes 2019-08-30 15:01:52 -07:00
api.h clang-format changes 2019-08-30 15:01:52 -07:00
color.c Smoother Linear Light Table (#6764) 2019-09-18 18:32:38 -07:00
color.h clang-format changes 2019-08-30 15:01:52 -07:00
config_common.h Added uart config for using rn42 with at90usb1286 (#6582) 2019-10-16 09:10:23 +11:00
debounce.h Removed #include "matrix.h" from debounce.h 2019-01-26 22:44:33 +11:00
dip_switch.c Add Dip Switch as a core feature (#6140) 2019-09-03 08:34:31 -07:00
dip_switch.h Add Dip Switch as a core feature (#6140) 2019-09-03 08:34:31 -07:00
dynamic_keymap.c clang-format changes 2019-08-30 15:01:52 -07:00
dynamic_keymap.h clang-format changes 2019-08-30 15:01:52 -07:00
dynamic_macro.h [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
encoder.c Updated split encoders so indexes are based on left hand encoders first (#6382) 2019-09-18 17:56:11 -07:00
encoder.h Added encoder support to split common code (#5477) 2019-04-03 16:01:17 -07:00
fauxclicky.c clang-format changes 2019-08-30 15:01:52 -07:00
fauxclicky.h clang-format changes 2019-08-30 15:01:52 -07:00
keycode_config.c clang-format changes 2019-08-30 15:01:52 -07:00
keycode_config.h clang-format changes 2019-08-30 15:01:52 -07:00
keymap.h clang-format changes 2019-08-30 15:01:52 -07:00
keymap_common.c Move tmk_core/common/backlight to quantum/backlight (#6710) 2019-10-17 17:48:58 +01:00
led_matrix.c clang-format changes 2019-08-30 15:01:52 -07:00
led_matrix_drivers.c clang-format changes 2019-08-30 15:01:52 -07:00
led_tables.c Smoother Linear Light Table (#6764) 2019-09-18 18:32:38 -07:00
led_tables.h Move CIE1931 and breathing tables to its own file 2017-04-09 18:34:59 +03:00
ledmatrix.h clang-format changes 2019-08-30 15:01:52 -07:00
matrix.c clang-format changes 2019-08-30 15:01:52 -07:00
mcu_selection.mk Add 328P to mcu_selection.mk (#6682) 2019-09-07 08:24:19 -07:00
pincontrol.h clang-format changes 2019-08-30 15:01:52 -07:00
pointing_device.c clang-format changes 2019-08-30 15:01:52 -07:00
pointing_device.h clang-format changes 2019-08-30 15:01:52 -07:00
quantum.c [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
quantum.h [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
quantum_keycodes.h [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
rgb.h clang-format changes 2019-08-30 15:01:52 -07:00
rgb_matrix.c clang-format changes 2019-08-30 15:01:52 -07:00
rgb_matrix.h clang-format changes 2019-08-30 15:01:52 -07:00
rgb_matrix_drivers.c Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180) 2019-10-29 01:00:03 +00:00
rgb_matrix_types.h clang-format changes 2019-08-30 15:01:52 -07:00
rgblight.c Fix small hiccup in snake animation (#6858) 2019-10-15 23:13:13 +01:00
rgblight.h clang-format changes 2019-08-30 15:01:52 -07:00
rgblight_breathe_table.h clang-format changes 2019-08-30 15:01:52 -07:00
rgblight_list.h clang-format changes 2019-08-30 15:01:52 -07:00
rgblight_modes.h clang-format changes 2019-08-30 15:01:52 -07:00
rgblight_post_config.h clang-format changes 2019-08-30 15:01:52 -07:00
rgblight_reconfig.h clang-format changes 2019-08-30 15:01:52 -07:00
send_string_keycodes.h clang-format changes 2019-08-30 15:01:52 -07:00
variable_trace.c clang-format changes 2019-08-30 15:01:52 -07:00
variable_trace.h clang-format changes 2019-08-30 15:01:52 -07:00
velocikey.c clang-format changes 2019-08-30 15:01:52 -07:00
velocikey.h clang-format changes 2019-08-30 15:01:52 -07:00