Code:
clonepush(strkey)
{
global winid
Loop %winid% 
    {
    tmp:=winid%A_Index%
    IfWinNotActive, ahk_id %tmp%
        ControlSend, ,%strkey%, ahk_id %tmp%
    }
sleep 1
}



WinGet, winid, List,World of Warcraft

~+e::clonepush("{e down}{e up}")
change ~+e::clonepush("{e down}{e up}")
the plus sign is the shift modifier change the e in {e down}{e up} to what ever key you want.