Shift Modifier Priority?

Hi, I am observing some strange behaviour with the modifier keys. The issue is that when I am holding down any modifier other than Shift (i.e., Alt/Ctrl) and I then simultaenously hold down Shift, it prioritises the Shift modifier and essentially overrides the previous modifier that is still hold down. This only seems to happen if the key combination I’m pressing (with Shift) is already bound to something (on my ActionBar).

For example, I have three spells bound to B, Shift-B, Alt-B. I press Alt first, then Shift and for some reason, it overrides to Shift version of the keybind (Shift-B). However, this only occurs if Shift-B is bound to something. If Shift-B doesn’t exist, then pressing Alt → Shift + B does not send Shift-B as the key but instead Alt-B. In this case, the order does matter as even a macro on keybind B with a [mod:shift] condition will not go through if Alt was held down first.

What makes this strange is that from my testing, the issue is not with the “order” that I am pressing these modifiers in, but simply the modifier themselves. Specifically, Shift keeps taking precedence over other modifiers, regardless if it is the latter or former modifier. If I reuse the previous example, holding Shift first and then Alt second doesn’t give precedence to Alt, it is still Shift-B that will be getting fired off. Why is that?

What’s the actual macro and have you confirmed that shift-whatever isn’t bound in your keybinds? If it is, the keybind will take priority over the macro modifiers. By default, shift 1-6 are bound to Action Page 1-6.

I use macros like this regularly without issue:

#showtooltip
/cast [mod:shiftalt,@mouseover,help] [mod:shiftalt] Leap of Faith; [mod:shift,known:120644] Halo; [mod:shift] Divine Star; [mod:alt,@mouseover,harm,nodead] [mod:alt] Vampiric Touch; [@mouseover,harm,nodead] [] Shadow Word: Pain

Hi, thanks for your response Elvenbane.

There is no macro issue. The issue is, simply put, the Shift modifier takes precedence over other modifiers given a keybind with Shift exists. My example was that I have three keybinds:

  1. B
  2. Shift-B
  3. Alt-B

If I hold down Alt first, then hold down Shift (like holding down Alt+Shift), it will trigger Shift-B (which is fine).

… But now if I reverse the order in which I hold the modifiers down:

I hold down Shift first, then hold down Alt (like holding down Shift+Alt), it will still trigger Shift-B (not fine; order is reversed so it should be triggering Alt-B).

Why is it the case that the Shift modifier takes precedence over Alt modifier, regardless of the order that they are being pressed in…? Both Shift-B and Alt-B keybinds exist on my ActionBar, so that is not the issue, I think.

The behaviour would be more intuitive if it was related to ordering. Either the earliest held down modifier or the latest held down modifier should be the one that triggers the keybind (given that such a keybind exists). However, this priority doesn’t work on the basis of ordering but simply based on the modifier themselves, in this case, specficially if it’s Shift or not.

Note: The three keybinds in my example aren’t macros. They’re just regular spells.

Gotcha. It’s either the order in which you setup the keybinds or the order in which Blizz internally checks modifiers against keybinds (more likely imo). Either way, the order the keys are pressed in doesn’t matter. As soon as you’re pressing shift+alt you’re sending a different key combo entirely which is shift+alt+key.

If you want to make alt the prio when shift+alt is pressed then bind shift+alt+key as an alternative bind to the alt-buttons.

Alternatively, if you were using macros you could customize the order of the fallback on a per-key basis.

alt prio

/cast [mod:alt] alt_spell; [mod:shift] shift_spell; default_spell

shift prio

/cast [mod:shift] shift_spell; [mod:alt] alt_spell; default_spell
1 Like

Yep, you make a good point. And yes, I wasn’t expecting to arrive at a solution. Rather I just wanted to ask/point this behaviour out and was hoping maybe it was a bug or something that could be resolved. I put this thread in Customer Support originally but it got moved to here which indicates that it probably is not a bug! But it did appear weird to me - I don’t know why the game internally prioritises Shift in such a forceful way and how differently it might handle other variations of modifiers such as Alt+Shift (those kind of variations I don’t use myself but I do know they exist!).

And while I do understand that they exist - and I don’t use them myself - these combinations (Shift+Alt or Alt+Shift) when performed on the keyboard still get converted to either Shift or Alt keybinds, assuming that at the very least you have Shift or Alt binds. It seems like they get broken down into their individual modifiers. Again, the strange thing to me is that why is the Shift component being prioritised out of the two… /shrug !

The macro conditionals are a sweet alternative as you mentioned, indeed. Thank you a lot for that. :+1: