Search code examples
javaawtrobot

How can I make Robot type a `:`?


I want to type : using Java Robot. However, I'm getting an IllegalArgumentException. My code is:

robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_COLON);
robot.keyRelease(KeyEvent.VK_COLON);
robot.keyRelease(KeyEvent.VK_SHIFT);

The exception is:

java.lang.IllegalArgumentException: Invalid key code.].

I also tried with:

robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_SEMICOLON);
robot.keyRelease(KeyEvent.VK_SEMICOLON);
robot.keyRelease(KeyEvent.VK_SHIFT);

How can I solve this problem?


Solution

  • try with this code :

    robot.keyPress(KeyEvent.VK_SHIFT);
    robot.keyPress(KeyEvent.VK_SEMICOLON);
    robot.keyRelease(KeyEvent.VK_SEMICOLON);
    robot.keyRelease(KeyEvent.VK_SHIFT);
    

    As with the keyboard you enter : when you press shift + ;. the same you need to simulate.

    Try running this code just to try out which works fine with above answer:

    public class Test {
        public static void main(String[] args) {
            Robot robot;
            try {
                robot = new Robot();
                robot.keyPress(KeyEvent.VK_SHIFT);  
                robot.keyPress(KeyEvent.VK_SEMICOLON);  
                robot.keyRelease(KeyEvent.VK_SEMICOLON);  
                robot.keyRelease(KeyEvent.VK_SHIFT);
            } catch (AWTException e) {
                // TODO Auto-generated catch bloc
                e.printStackTrace();
            }
    
    
        }
    }