private byte translateKeyCode()

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;
    }