se metti il controllo su keylistener significa che ogni volta che tu premi e lasci un tasto fa tutto quel giro, irrisorio non è quando puoi fare in altri modi. Ma visto che è l'unica possibile a me viene in mente questa soluzione :-)
guarda keylistener (in particolare usa keyadapter dove dovresti implementare keyreleased se non ricordo male)