pulsación simultánea múltiple de teclas c #

Estoy programando un juego en microsoft visual studio c # y tengo que capturar muchas teclas simultáneamente. No puedo detectar Q, W, E, R, T, Y al mismo tiempo, pero puedo detectar Q, W, E, R, T, A.

Traté de usar KeyDown y[DllImport("user32.dll")] Pero ambos tienen el mismo resultado. ¿Cuál es la diferencia entre las teclas Y y A y cómo puedo resolver este problema?

int code1 = GetVirtualKeyCode(Keys.Q);
int code2 = GetVirtualKeyCode(Keys.W);
int code3 = GetVirtualKeyCode(Keys.E);
int code4 = GetVirtualKeyCode(Keys.R);
int code5 = GetVirtualKeyCode(Keys.T);
int code6 = GetVirtualKeyCode(Keys.Y);
if ((array[code1] & 0x80) != 0 &&
    (array[code2] & 0x80) != 0 &&
    (array[code3] & 0x80) != 0 &&
    (array[code4] & 0x80) != 0 &&
    (array[code5] & 0x80) != 0 &&
    (array[code6] & 0x80) != 0)
{
    listBox1.Items.Add("asdasdasd");
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta