Po pierwsze nie ma czegoś takiego jak "równoczesne naciśnięcie klawiszy". Wszystkie kody znaków generujące zdarzenia dotyczące klawiszy są zawsze kolejkowane, a żadna klawiatura nie wysyła stanu wszystkich swoich klawiszy na raz.
Po drugie, do używania klawiszy przez grę używa się pary metod KeyPressed i KeyReleased (i poza obsługą czata nigdy keyTyped). Każde zdarzenie przychodzące wywołuje jedną z tych metod, a metody powinny zmieniać stan wciśnięcia klawiszy, które chcesz monitorować. Wtedy Twój program może w każdej chwili zbadać stan tych klawiszy i dowiedzieć się ile i które klawisze są obecnie wciśnięte, a które zwolnione. Oznacza to właśnie tę "równoczesność". Możesz też chcieć monitorować moment w którym stan jednego z klawiszy się zmienił - wystarczy w tym celu z obu metod obsługi zdarzeń wywoływać (najlepiej asynchronicznie) jakąś metodę z Twojej gry. Dlaczego asynchronicznie? Bo najczęściej kod gry potrzebuje wtedy zrobić coś czasochłonnego, a tego w metodach obsługi zdarzeń zrobić nie wolno (system obsługi zdarzeń w real-time zostanie zatrzymany). Krótko mówiąc zamienisz zdarzenia klawiatury na jedno zdarzenie zmiany stanu tych klawiszy i jeden odczyt tego stanu. Dopiero w ten sposób gra ma szansę dowiedzieć się, że gracz wcisnął trzy lub więcej klawiszy, a może wcisnąć jeszcze kolejne lub zwolnić wciśnięte.