diff --git a/keyboards/dz60/keymaps/jacko_keys/keymap.c b/keyboards/dz60/keymaps/jacko_keys/keymap.c index 5f8793b7d9c..579d8af9454 100644 --- a/keyboards/dz60/keymaps/jacko_keys/keymap.c +++ b/keyboards/dz60/keymaps/jacko_keys/keymap.c @@ -154,7 +154,7 @@ const uint32_t PROGMEM unicode_map[] = { [AU] = U'İ', [AV] = U'Ị', [AW] = U'Ḣ', [AX] = U'Ḥ', [AY] = U'˙', [AZ] = U'·', [ABSL] = U'\\' - //4078 bytes free - as space is allocated "quite literally" as ASCII 32 in a 32-bit field. + //4060 bytes free - as space is allocated "quite literally" as ASCII 32 in a 32-bit field. //2021-11-28 }; @@ -234,6 +234,12 @@ const uint16_t PROGMEM macro_keycode[] = { KC_LEFT,//\\A }; +const char* const PROGMEM macro_subs[] = { + //index at a + //only use alpha a-z (26) escape sequences "\\a" etc. in macro strings + "",//\\a +}; + const char* modify_step(const char* ip) { while(*(ip++) != 0); return ip; @@ -275,6 +281,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { ip = ip_save;//restore (only one level deep!!!!) continue; } + idx = idx + '0' - 'a';//lower case subroutines + if(idx < 26) {//only use alphas + send_unicode_string(macro_subs[idx]); + ip++; + continue; + } switch(*(ip++)) { //other cases of macro effects //======================================================================