summary refs log tree commit diff
path: root/quantum
diff options
context:
space:
mode:
authorDongfeng Yu <60870777+blockader@users.noreply.github.com>2020-07-08 04:59:13 +0800
committerGitHub <noreply@github.com>2020-07-07 21:59:13 +0100
commit666cb44673c3db85e0141189319fc9aed394c56d (patch)
treee4a4ce639e51ef5f53c98939f59e5d21ca9afc35 /quantum
parent03c790a0f23fe05f0b0fde84d3a2d3e7987a7f73 (diff)
Allowing Pressing the Start Buttons Again to Stop Dynamic Macro Recording (#9446)
Diffstat (limited to 'quantum')
-rw-r--r--quantum/process_keycode/process_dynamic_macro.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/quantum/process_keycode/process_dynamic_macro.c b/quantum/process_keycode/process_dynamic_macro.c
index 2065f242db..df3a8a8120 100644
--- a/quantum/process_keycode/process_dynamic_macro.c
+++ b/quantum/process_keycode/process_dynamic_macro.c
@@ -216,11 +216,13 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) {
     } else {
         /* A macro is being recorded right now. */
         switch (keycode) {
+            case DYN_REC_START1:
+            case DYN_REC_START2:
             case DYN_REC_STOP:
                 /* Stop the macro recording. */
-                if (record->event.pressed) { /* Ignore the initial release
-                                              * just after the recoding
-                                              * starts. */
+                if (record->event.pressed ^ (keycode != DYN_REC_STOP)) { /* Ignore the initial release
+                                              * just after the recording
+                                              * starts for DYN_REC_STOP. */
                     switch (macro_id) {
                         case 1:
                             dynamic_macro_record_end(macro_buffer, macro_pointer, +1, &macro_end);