Boa noite a todos !
Estou mexendo com a classe robot , mas não consegui simular o pressionamento das teclas / e ? , recebo uma exceção de invalid key code.
Acabei fazendo uma P.O.G (Programação Orientada a Gambiarras) , vejam abaixo:
case '/':
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_NUMPAD0);
robot.keyRelease(KeyEvent.VK_NUMPAD0);
robot.keyPress(KeyEvent.VK_NUMPAD4);
robot.keyRelease(KeyEvent.VK_NUMPAD4);
robot.keyPress(KeyEvent.VK_NUMPAD7);
robot.keyRelease(KeyEvent.VK_NUMPAD7);
robot.keyRelease(KeyEvent.VK_ALT);
break;
case '?':
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_NUMPAD0);
robot.keyRelease(KeyEvent.VK_NUMPAD0);
robot.keyPress(KeyEvent.VK_NUMPAD6);
robot.keyRelease(KeyEvent.VK_NUMPAD6);
robot.keyPress(KeyEvent.VK_NUMPAD3);
robot.keyRelease(KeyEvent.VK_NUMPAD3);
robot.keyRelease(KeyEvent.VK_ALT);
break;
Segue uma classe que criei para trabalhar com o Robot ( para quem achar util pode usar a vontade
).
/* AutoKey 1.0
* Desenvolvido por Rafael Costa Teixeira.
* CopyRight GNU GPL v2 2012
*
* Para teclados ABNT2
*/
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class AutoKey {
Robot robot;
public AutoKey() {
try {
robot = new Robot();
//robot.delay(5000);
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void keyPress( char key ) {
//robot.delay(1000);
switch( key ) {
case 'a': robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_A);break;
case 'b': robot.keyPress(KeyEvent.VK_B);robot.keyRelease(KeyEvent.VK_B);break;
case 'c': robot.keyPress(KeyEvent.VK_C);robot.keyRelease(KeyEvent.VK_C);break;
case 'd': robot.keyPress(KeyEvent.VK_D);robot.keyRelease(KeyEvent.VK_D);break;
case 'e': robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_E);break;
case 'f': robot.keyPress(KeyEvent.VK_F);robot.keyRelease(KeyEvent.VK_F);break;
case 'g': robot.keyPress(KeyEvent.VK_G);robot.keyRelease(KeyEvent.VK_G);break;
case 'h': robot.keyPress(KeyEvent.VK_H);robot.keyRelease(KeyEvent.VK_H);break;
case 'i': robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_I);break;
case 'j': robot.keyPress(KeyEvent.VK_J);robot.keyRelease(KeyEvent.VK_J);break;
case 'k': robot.keyPress(KeyEvent.VK_K);robot.keyRelease(KeyEvent.VK_K);break;
case 'l': robot.keyPress(KeyEvent.VK_L);robot.keyRelease(KeyEvent.VK_L);break;
case 'm': robot.keyPress(KeyEvent.VK_M);robot.keyRelease(KeyEvent.VK_M);break;
case 'n': robot.keyPress(KeyEvent.VK_N);robot.keyRelease(KeyEvent.VK_N);break;
case 'o': robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_O);break;
case 'p': robot.keyPress(KeyEvent.VK_P);robot.keyRelease(KeyEvent.VK_P);break;
case 'q': robot.keyPress(KeyEvent.VK_Q);robot.keyRelease(KeyEvent.VK_Q);break;
case 'r': robot.keyPress(KeyEvent.VK_R);robot.keyRelease(KeyEvent.VK_R);break;
case 's': robot.keyPress(KeyEvent.VK_S);robot.keyRelease(KeyEvent.VK_S);break;
case 't': robot.keyPress(KeyEvent.VK_T);robot.keyRelease(KeyEvent.VK_T);break;
case 'u': robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_U);break;
case 'v': robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_V);break;
case 'w': robot.keyPress(KeyEvent.VK_W);robot.keyRelease(KeyEvent.VK_W);break;
case 'x': robot.keyPress(KeyEvent.VK_X);robot.keyRelease(KeyEvent.VK_X);break;
case 'y': robot.keyPress(KeyEvent.VK_Y);robot.keyRelease(KeyEvent.VK_Y);break;
case 'z': robot.keyPress(KeyEvent.VK_Z);robot.keyRelease(KeyEvent.VK_Z);break;
case 'A': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_A);break;
case 'B': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_B);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_B);break;
case 'C': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_C);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_C);break;
case 'D': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_D);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_D);break;
case 'E': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_E);break;
case 'F': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_F);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_F);break;
case 'G': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_G);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_G);break;
case 'H': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_H);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_H);break;
case 'I': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_I);break;
case 'J': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_J);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_J);break;
case 'K': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_K);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_K);break;
case 'L': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_L);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_L);break;
case 'M': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_M);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_M);break;
case 'N': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_N);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_N);break;
case 'O': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_O);break;
case 'P': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_P);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_P);break;
case 'Q': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_Q);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_Q);break;
case 'R': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_R);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_R);break;
case 'S': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_S);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_S);break;
case 'T': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_T);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_T);break;
case 'U': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_U);break;
case 'V': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_V);break;
case 'W': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_W);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_W);break;
case 'X': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_X);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_X);break;
case 'Y': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_Y);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_Y);break;
case 'Z': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_Z);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_Z);break;
case ':': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_SEMICOLON);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_SEMICOLON);break;
case ';': robot.keyPress(KeyEvent.VK_SEMICOLON);robot.keyRelease(KeyEvent.VK_SEMICOLON);break;
case '1': robot.keyPress(KeyEvent.VK_1);robot.keyRelease(KeyEvent.VK_1);break;
case '2': robot.keyPress(KeyEvent.VK_2);robot.keyRelease(KeyEvent.VK_2);break;
case '3': robot.keyPress(KeyEvent.VK_3);robot.keyRelease(KeyEvent.VK_3);break;
case '4': robot.keyPress(KeyEvent.VK_4);robot.keyRelease(KeyEvent.VK_4);break;
case '5': robot.keyPress(KeyEvent.VK_5);robot.keyRelease(KeyEvent.VK_5);break;
case '6': robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_6);break;
case '7': robot.keyPress(KeyEvent.VK_7);robot.keyRelease(KeyEvent.VK_7);break;
case '8': robot.keyPress(KeyEvent.VK_8);robot.keyRelease(KeyEvent.VK_8);break;
case '9': robot.keyPress(KeyEvent.VK_9);robot.keyRelease(KeyEvent.VK_9);break;
case '0': robot.keyPress(KeyEvent.VK_0);robot.keyRelease(KeyEvent.VK_0);break;
case '!': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_1);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_1);break;
case '@': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_2);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_2);break;
case '#': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_3);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_3);break;
case '$': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_4);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_4);break;
case '%': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_5);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_5);break;
case '¨': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);break;
case '&': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_7);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_7);break;
case '*': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_8);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_8);break;
case '(': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_9);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_9);break;
case ')': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_0);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_0);break;
case '/': robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_NUMPAD0);robot.keyRelease(KeyEvent.VK_NUMPAD0);robot.keyPress(KeyEvent.VK_NUMPAD4);robot.keyRelease(KeyEvent.VK_NUMPAD4);robot.keyPress(KeyEvent.VK_NUMPAD7);robot.keyRelease(KeyEvent.VK_NUMPAD7);robot.keyRelease(KeyEvent.VK_ALT);break;
case '?': robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_NUMPAD0);robot.keyRelease(KeyEvent.VK_NUMPAD0);robot.keyPress(KeyEvent.VK_NUMPAD6);robot.keyRelease(KeyEvent.VK_NUMPAD6);robot.keyPress(KeyEvent.VK_NUMPAD3);robot.keyRelease(KeyEvent.VK_NUMPAD3);robot.keyRelease(KeyEvent.VK_ALT);break;
case '\\': robot.keyPress(KeyEvent.VK_BACK_SLASH);robot.keyRelease(KeyEvent.VK_BACK_SLASH);break;
case '|': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_BACK_SLASH);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_BACK_SLASH);break;
case '[': robot.keyPress(KeyEvent.VK_OPEN_BRACKET);robot.keyRelease(KeyEvent.VK_OPEN_BRACKET);break;
case ']': robot.keyPress(KeyEvent.VK_CLOSE_BRACKET);robot.keyRelease(KeyEvent.VK_CLOSE_BRACKET);break;
case '{': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_OPEN_BRACKET);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_CLOSE_BRACKET);break;
case '}': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_CLOSE_BRACKET);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_CLOSE_BRACKET);break;
case ',': robot.keyPress(KeyEvent.VK_COMMA);robot.keyRelease(KeyEvent.VK_COMMA);break;
case '<': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_COMMA);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_COMMA);break;
case '.': robot.keyPress(KeyEvent.VK_PERIOD);robot.keyRelease(KeyEvent.VK_PERIOD);break;
case '>': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_PERIOD);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_PERIOD);break;
case '~': robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SPACE);robot.keyRelease(KeyEvent.VK_SPACE);break;
case '^': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SPACE);robot.keyRelease(KeyEvent.VK_SPACE);break;
case '\'': robot.keyPress(KeyEvent.VK_QUOTE);robot.keyRelease(KeyEvent.VK_QUOTE);break;
case '"': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_QUOTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_QUOTE);break;
case '-': robot.keyPress(KeyEvent.VK_MINUS);robot.keyRelease(KeyEvent.VK_MINUS);break;
case '_': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_MINUS);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_MINUS);break;
case '=': robot.keyPress(KeyEvent.VK_EQUALS);robot.keyRelease(KeyEvent.VK_EQUALS);break;
case '+': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_EQUALS);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_EQUALS);break;
case '´': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SPACE);robot.keyRelease(KeyEvent.VK_SPACE);break;
case '`': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);break;
case 'á': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_A);break;
case 'à': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_A);break;
case 'ä': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_A);break;
case 'ã': robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_A);break;
case 'â': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_A);break;
case 'Á': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_A);break;
case 'À': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_A);break;
case 'Ä': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_A);break;
case 'Ã': robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_A);break;
case 'Â': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_A);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_A);break;
case 'é': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_E);break;
case 'è': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_E);break;
case 'ë': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_E);break;
case 'ê': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_E);break;
case 'É': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_E);break;
case 'È': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_E);break;
case 'Ë': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_E);break;
case 'Ê': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_E);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_E);break;
case 'í': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_I);break;
case 'ì': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_I);break;
case 'ï': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_I);break;
case 'î': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_I);break;
case 'Í': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_I);break;
case 'Ì': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_I);break;
case 'Ï': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_I);break;
case 'Î': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_I);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_I);break;
case 'ó': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_O);break;
case 'ò': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_O);break;
case 'ö': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_O);break;
case 'õ': robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_O);break;
case 'ô': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_O);break;
case 'Ó': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_O);break;
case 'Ò': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_O);break;
case 'Ö': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_O);break;
case 'Õ': robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_O);break;
case 'Ô': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_O);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_O);break;
case 'ú': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_U);break;
case 'ù': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_U);break;
case 'ü': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_U);break;
case 'û': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_U);break;
case 'Ú': robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_U);break;
case 'Ù': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_ACUTE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_ACUTE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_U);break;
case 'Ü': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_6);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_6);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_U);break;
case 'Û': robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_DEAD_TILDE);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_DEAD_TILDE);robot.keyPress(KeyEvent.VK_SHIFT);robot.keyPress(KeyEvent.VK_U);robot.keyRelease(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_U);break;
case ' ': robot.keyPress(KeyEvent.VK_SPACE);robot.keyRelease(KeyEvent.VK_SPACE);break;
case '\n': robot.keyPress(KeyEvent.VK_ENTER);robot.keyRelease(KeyEvent.VK_ENTER);break;
case '\t': robot.keyPress(KeyEvent.VK_TAB);robot.keyRelease(KeyEvent.VK_TAB);break;
}
}
}
Mas voltando ao meu problema , alguem já conseguiu simular o pressionamento das teclas / e ? de uma forma mais natural ?
Seria esse problema um BUG do Java ? ou do programador ?
Estou usando essa versão do java no Windows Develop Preview (x86):
java version “1.6.0_30”
Java™ SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot™ Client VM (build 20.5-b03, mixed mode, sharing)
Tambem testei no Windows XP SP3 , mas só consigo fazer funcionar com o “POG”.