aboutsummaryrefslogtreecommitdiff
path: root/quantum/dynamic_keymap.c
diff options
context:
space:
mode:
authorWilba <Jason.S.Williams@gmail.com>2020-03-15 00:35:12 +1100
committerGitHub <noreply@github.com>2020-03-14 13:35:12 +0000
commit141535c9db200348396abe38f66e8679c010767b (patch)
tree958fa26e03746fb341d2536952a7d83d45d9232d /quantum/dynamic_keymap.c
parenta92947fcdb44c04996ebd11fb8ab8e5111468af7 (diff)
downloadqmk_firmware-141535c9db200348396abe38f66e8679c010767b.tar.gz
qmk_firmware-141535c9db200348396abe38f66e8679c010767b.zip
Realign dynamic macros with recent SEND_STRING changes (#8407)
Diffstat (limited to 'quantum/dynamic_keymap.c')
-rw-r--r--quantum/dynamic_keymap.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c
index f4120b118..3bb84cbde 100644
--- a/quantum/dynamic_keymap.c
+++ b/quantum/dynamic_keymap.c
@@ -210,9 +210,9 @@ void dynamic_keymap_macro_send(uint8_t id) {
210 ++p; 210 ++p;
211 } 211 }
212 212
213 // Send the macro string one or two chars at a time 213 // Send the macro string one or three chars at a time
214 // by making temporary 1 or 2 char strings 214 // by making temporary 1 or 3 char strings
215 char data[3] = {0, 0, 0}; 215 char data[4] = {0, 0, 0, 0};
216 // We already checked there was a null at the end of 216 // We already checked there was a null at the end of
217 // the buffer, so this cannot go past the end 217 // the buffer, so this cannot go past the end
218 while (1) { 218 while (1) {
@@ -223,10 +223,12 @@ void dynamic_keymap_macro_send(uint8_t id) {
223 break; 223 break;
224 } 224 }
225 // If the char is magic (tap, down, up), 225 // If the char is magic (tap, down, up),
226 // add the next char (key to use) and send a 2 char string. 226 // add the next char (key to use) and send a 3 char string.
227 if (data[0] == SS_TAP_CODE || data[0] == SS_DOWN_CODE || data[0] == SS_UP_CODE) { 227 if (data[0] == SS_TAP_CODE || data[0] == SS_DOWN_CODE || data[0] == SS_UP_CODE) {
228 data[1] = eeprom_read_byte(p++); 228 data[1] = data[0];
229 if (data[1] == 0) { 229 data[0] = SS_QMK_PREFIX;
230 data[2] = eeprom_read_byte(p++);
231 if (data[2] == 0) {
230 break; 232 break;
231 } 233 }
232 } 234 }