summaryrefslogtreecommitdiffstats
path: root/quantum/dynamic_macro.h
Commit message (Collapse)AuthorAgeFilesLines
* Prevent the recording of looping dynamic macros.Daniel Shields2017-06-011-0/+4
| | | | | | | If a macro play key is inadvertently recorded in a dynamic macro a loop is created and the macro will not terminate when played. This should be prevented.
* dynamic_macro.h: Do not use backlight_toggle if backlight is disabledWojciech Siewierski2017-05-051-0/+2
| | | | Fixes #1199.
* dynamic_macro.h: Add debug logsWojciech Siewierski2017-05-041-0/+30
|
* dynamic_macro.h: Make the documentation more clearWojciech Siewierski2017-05-041-2/+5
|
* dynamic_macro.h: Do not save the keys being held when stopping the recordingWojciech Siewierski2017-05-041-3/+15
| | | | | | More specifically, we save them and then place the `macro_end` pointer before them so they are essentially ignored and the other macro may freely overwrite them.
* dynamic_macro.h: Fix an off-by-two errorWojciech Siewierski2017-05-041-3/+3
| | | | | | We need to check whether we just passed the after-the-end point of the other macro. Instead we were checking whether we are going to reach it now.
* dynamic_macro.h: Always toggle the backlight twice as a notificationWojciech Siewierski2017-05-041-3/+1
| | | | Apparently sometimes the backlight was toggled only once and it was left on.
* dynamic_macro.h: Ignore all the initial key releasesWojciech Siewierski2017-05-041-2/+9
| | | | | | | | Right after the user initiates the macro recording, they usually need to release some keys used to access the DYN_REC_START layers. It makes sense to ignore them. Note: The keys used to access the DYN_REC_STOP key are *not* ignored.
* Add `DYN_REC_STOP` to dynamic macrosWeiyi Lou2017-04-301-3/+3
| | | | | | | | | | | | | | | | | Dynamic macro functionality is modified to check for `DYN_REC_STOP`, so that macro recording can be stopped with a designated key combination (e.g. `qs` or anything) instead of mandating the use of a `_DYN` layer. `_DYN` layer stopping can still be done by passing `DYN_REC_STOP` within `process_record_user()`: bool process_record_user(uint16_t keycode, keyrecord_t *record) { uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode); if (!process_record_dynamic_macro(macro_kc, record)) { return false; } return true; }
* Clarify the quantum license (#1042)skullydazed2017-03-281-0/+16
| | | | | | | | | | * Clarify the license for files we have signoff on * Update against the currently signed off files * Remove unused and not clearly licensed headers * Replace an #endif I accidentally removed while resolving merge conflicts
* Reduce the default dynamic macro bufferWojciech Siewierski2016-10-091-2/+7
| | | | | There have been reports of it leaving not enough free memory preventing the keyboard from working properly.
* Implement the dynamic macros that are recorded in runtimeWojciech Siewierski2016-08-181-0/+226