Tente este:
a::Send, {s down}
d::
if(GetKeyState("s")) {
Send, {s up}
}
return
Problema no seu código:
GetKeyState("s", "P")
será responsável apenas pelas chaves físicas . S do outro foi enviado como uma chave virtual pelo AHK.