in modules/awt/src/main/java/windows/org/apache/harmony/awt/wtk/windows/WinRobot.java [157:213]
private byte translateKeyCode(int keyCode) {
int vKey = keyCode;
switch (keyCode) {
case KeyEvent.VK_ENTER:
vKey = WindowsDefs.VK_RETURN;
break;
case KeyEvent.VK_INSERT:
vKey = WindowsDefs.VK_INSERT;
break;
case KeyEvent.VK_DELETE:
vKey = WindowsDefs.VK_DELETE;
break;
case KeyEvent.VK_SEMICOLON:
vKey = WindowsDefs.VK_OEM_1;
break;
case KeyEvent.VK_SLASH:
vKey = WindowsDefs.VK_OEM_2;
break;
case KeyEvent.VK_OPEN_BRACKET:
vKey = WindowsDefs.VK_OEM_4;
break;
case KeyEvent.VK_BACK_SLASH:
vKey = WindowsDefs.VK_OEM_5;
break;
case KeyEvent.VK_CLOSE_BRACKET:
vKey = WindowsDefs.VK_OEM_6;
break;
case KeyEvent.VK_COMMA:
vKey = WindowsDefs.VK_OEM_COMMA;
break;
case KeyEvent.VK_PERIOD:
vKey = WindowsDefs.VK_OEM_PERIOD;
break;
case KeyEvent.VK_MINUS:
vKey = WindowsDefs.VK_OEM_MINUS;
break;
case KeyEvent.VK_EQUALS:
vKey = WindowsDefs.VK_OEM_PLUS;
break;
}
if ((keyCode >= KeyEvent.VK_F13) && (keyCode <= KeyEvent.VK_F24)) {
vKey = WindowsDefs.VK_F13 + keyCode - KeyEvent.VK_F13;
}
if ( (vKey < 3) || (vKey > 254) || (vKey >=4) && (vKey <= 7) ||
(vKey >= 0xA) && (vKey <= 0xB) || (vKey >= 0xE) && (vKey <= 0xF) ||
(vKey == 0x16) || (vKey == 0x1A) || (vKey >= 0x3A) && (vKey <= 0x40) ||
(vKey >= 0x5B) && (vKey <= 0x5F) || (vKey >= 0x88) && (vKey <= 0x8F) ||
(vKey >= 0x92) && (vKey <= 0x9F) || (vKey >= 0xB8) && (vKey <= 0xB9) ||
(vKey >= 0xC1) && (vKey <= 0xDA) || (vKey >= 0xE0) && (vKey <= 0xE1) ||
(vKey >= 0xE3) && (vKey <= 0xE4) || (vKey == 0xE6) ||
(vKey >= 0xE8) && (vKey <= 0xF5)) {
// awt.1B=Invalid key code
throw new IllegalArgumentException(Messages.getString("awt.1B")); //$NON-NLS-1$
}
return (byte) vKey;
}