5

I know how to have Robot simulate a Y keypress like so:

    Robot.keyPress(KeyEvent.VK_Y);

But how do I get Robot to press a quote and period?:

".  

Can anyone provide me some reference page or sample code?

Alex Wittig
  • 2,800
  • 1
  • 33
  • 42

5 Answers5

13

You can't always just use the KeyEvent.VK... variable.

For example on my keyboard the "%" character is above the "5". To use a Robot to type a "5", the code would be:

robot.keyPress(KeyEvent.VK_5); 
robot.keyRelease(KeyEvent.VK_5);

and use a Robot to type a "%", the code would be:

robot.keyPress(KeyEvent.VK_SHIFT); 
robot.keyPress(KeyEvent.VK_5); 
robot.keyRelease(KeyEvent.VK_5);
robot.keyRelease(KeyEvent.VK_SHIFT);
camickr
  • 321,443
  • 19
  • 166
  • 288
3

If you wanted to use Robot, KeyEvent has VK_QUOTE and VK_PERIOD constants. All of these constants and more are available through the KeyEvent API

Hovercraft Full Of Eels
  • 283,665
  • 25
  • 256
  • 373
0

Previous Robots seem to be deprecated.

For the time being, for JavaFX, there's FXRobot

FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(KeyCode.QUOTE);
robot.keyPress(KeyCode.PERIOD);
Brad Turek
  • 2,472
  • 3
  • 30
  • 56
-1

What do you mean by "programmatically type these characters?"

You can use a backslash (\) to print a double-quote, but you don't need anything special for the period:

System.out.println("This is a quote symbol: \" and this is a period: .");

Output:

This is a quote symbol: " and this is a period: .
Chris Gregg
  • 2,376
  • 16
  • 30
  • 1
    I see this isn't what you want to do. It looks like you are looking for the keyboard-code for `KeyEvent`, which **@Hovercraft Full of Eels** provided. – Chris Gregg Jul 10 '11 at 15:42
-2

Your question is not clear, but to print the characters you can use a stream using the following snippet as a template:

System.out.println("\".");

user510210
  • 91
  • 1
  • 9