Tente algo assim:
LShift::
if(GetKeyState("LControl")) {
Send, {LControl up}
}
Send, {LShift down}
return
LShift up::
if(GetKeyState("LShift")) {
Send, {LShift up}
}
return
LControl::
if(GetKeyState("LShift")) {
Send, {LShift up}
}
Send, {LControl down}
return
LControl up::
if(GetKeyState("LControl")) {
Send, {LControl up}
}
return
Não sei se você precisa necessariamente das teclas up
, mas acho que isso tornará seu script mais consistente. Se você não precisa que as teclas sejam pressionadas, você também pode remapear a respectiva tecla a ser enviada uma vez (resultando em um evento de down / up quase simultâneo).
P.S .:
O comportamento do seu jogo é um bug ou um recurso? Em outras palavras: Será que deliberadamente não aceita novas chaves enquanto o outro está sendo pressionado? Se for esse o caso, você está principalmente tentando enganar;)