Pegar nome da tecla pressionada

Olá amigos,

Como que eu faço para pegar o nome de uma tecla que foi pressionada?

Estou usando o código abaixo para exibir o nome, só que ele traduz para português a palavra, por exemplo “DOWN” para “BAIXO”, e eu precisava que ficasse em inglês, porque mais para frente irei fazer com que essa tecla seja pressionada com a classe robot.

String tecla = KeyEvent.getKeyText(evt.getKeyCode()).toUpperCase();

Para fazer isso:

String code = “VK_” + tecla ;
Field f = KeyEvent.class.getField(code);
int keyEvent = f.getInt(null);
robot.keyPress(keyEvent);

Porque você quer fazer reflection para pressionar as teclas sendo que o keyCode é suficiente?

De qualquer forma, a descrição das teclas retornada pelo getKeyText pode ser modificada com um arquivo awt.properties.

Provavelmente no seu JDK tem um arquivo com um nome parecido com awt_pt_br.properties.

Você também pode fazer um map de Key codes com o nome da constante KeyEvent, acho que fica até mais performático.