Problema com o KeyListener

Caros, estou desenvolvendo um programa pra capturar cada tecla que o usuário digitar, usando SWT.

Coloquei dois Listeners: PressKey e ReleaseKey.
Ele captura a hora em que a tecla foi pressionada (Listener PressKey) e a hora que a tecla foi solta (Listener ReleaseKey).
Se eu digitar devagar funciona perfeitamente. Porém, se eu digitar rápido, tipo “GUJ” rápido… o que acontece…
Antes mesmo de eu soltar a tecla “G” eu já aperto o “U”. Daí os eventos que ele captura são: “G” Press, “U” Press e “U” Release. O evento “G” Release não é capturado… se perde.

Alguém pode me ajudar?

De antemão, agradeço a todos.

Abraço.

Galera, consegui resolver o problema usando AWT ao invés de SWT.

Abraço a todos!