# Macros Broken After Recent Update

**URL:** <https://community.keyboard.io/t/macros-broken-after-recent-update/4834>\
**Category:** Help and Getting Started\
**Created:** [June 11, 2021, 6:34am UTC](https://community.keyboard.io/t/macros-broken-after-recent-update/4834 "2021-06-11T06:34:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gavin](https://avatars.discourse-cdn.com/v4/letter/g/439d5e/32.png) [@gavin](https://community.keyboard.io/u/gavin)\
**Post date:** [June 11, 2021, 6:34am UTC](https://community.keyboard.io/t/macros-broken-after-recent-update/4834/1 "2021-06-11T06:34:11Z")

</div>

Hi,

Long-time user, since 2018. I recently [updated my firmware](https://git.yzena.com/gavin/Model01-Firmware/commit/797a6ef6e6b74aef2a7c8b4a64f3bb97879f45bf), and my macros stopped working in the same way. They still work, but for example, I have a macro to do Ctrl+C with the `fn` key and `j`, which is the QWERTY `c` key on my keyboard. (I use Dvorak, it’s meant to let me keep some similarity to QWERTY.)

Before the update, I could do `fn` + `Shift` + `j` to get `Ctrl`+`Shift`+`c`, for copying and pasting into my terminal. Now, it doesn’t work. This same sort of thing has happened to all of my macros that I want to combine with other keys. Sometimes, if I have the other key (usually `Shift`) pressed before I start the macro, it will work, but sometimes it does not.

Does anyone have any guesses as to what the issue is?

---

<div class="post-metadata">

**Author:** ![merlin](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/merlin/32/3416_2.png) [@merlin](https://community.keyboard.io/u/merlin)\
**Post date:** [June 11, 2021, 2:32pm UTC](https://community.keyboard.io/t/macros-broken-after-recent-update/4834/2 "2021-06-11T14:32:38Z")

</div>

1. There is a [guide to upgrading Macros](https://github.com/keyboardio/Kaleidoscope/blob/master/plugins/Kaleidoscope-Macros/UPGRADING.md). It looks like you’ve seen it, but I want that link here for others who read this post.
2. I will look into the problem shortly. A quick glance at your sketch doesn’t suggest anything wrong to me.
3. The good new is that you can replace (almost?) all those Macros with simple `Key` values with modifier flags, and not bother with Macros at all. Try replacing `M(MACRO_CTRL_C)` in your keymap with `LCTRL(Key_C)`, and `M(MACRO_CTRL_ALT_T)` with `LCTRL(LALT(Key_T))`.

---

<div class="post-metadata">

**Author:** ![merlin](https://yyz1.discourse-cdn.com/flex031/user_avatar/community.keyboard.io/merlin/32/3416_2.png) [@merlin](https://community.keyboard.io/u/merlin)\
**Post date:** [June 11, 2021, 2:33pm UTC](https://community.keyboard.io/t/macros-broken-after-recent-update/4834/3 "2021-06-11T14:33:50Z")

</div>

I forgot to ask: When it doesn’t work, what _does_ happen, if anything?

---

<div class="post-metadata">

**Author:** ![gavin](https://avatars.discourse-cdn.com/v4/letter/g/439d5e/32.png) [@gavin](https://community.keyboard.io/u/gavin)\
**Post date:** [June 11, 2021, 2:37pm UTC](https://community.keyboard.io/t/macros-broken-after-recent-update/4834/4 "2021-06-11T14:37:27Z")

</div>

What happens is that the macro is executed without the extra modifier key.

I am going to try those extra modifier flags.

---

<div class="post-metadata">

**Author:** ![gavin](https://avatars.discourse-cdn.com/v4/letter/g/439d5e/32.png) [@gavin](https://community.keyboard.io/u/gavin)\
**Post date:** [June 11, 2021, 3:12pm UTC](https://community.keyboard.io/t/macros-broken-after-recent-update/4834/5 "2021-06-11T15:12:59Z")

</div>

I am an idiot.

For future people who see this, this was entirely my fault, not a bug in Kaleidoscope.

I replaced the ` ___` on my function layer where `Key_Shift` was on the lower layer to `Key_LeftAlt`. Because there was no `___ ` to keep the key the same on the function layer, it was not sending `Shift`.

You can see the replacement at [https://git.yzena.com/gavin/Model01-Firmware/src/commit/0234070791/Model01-Firmware.ino#L324](https://git.yzena.com/gavin/Model01-Firmware/src/commit/0234070791/Model01-Firmware.ino#L324).

Putting `___` fixes the problem. However, I will also be implementing the `LCTRL` suggestion. It seems cleaner. 🙂

Thank you!
