Java Robot - Unable to perform SHIFT-RIGHT

2 views (last 30 days)
Philip M
Philip M on 23 Mar 2021
Edited: Philip M on 23 Mar 2021
I'm trying to use the Java robot to do a page-right command which, in the program in I'm trying to use it for, can be performed with a SHIFT-RIGHT keyboard input. This is essentialy the code I'm using:
import java.awt.*
import java.awt.event.*
rob=Robot;
rob.keyPress(KeyEvent.VK_SHIFT)
rob.keyPress(KeyEvent.VK_RIGHT)
rob.keyRelease(KeyEvent.VK_RIGHT)
rob.keyRelease(KeyEvent.VK_SHIFT)
However, when running the code, the shift key is pressed but appears to essentially be released before the right arrow is pressed, so I only get a single movement to the right instead of a page-right. Replacing VK_RIGHT with VK_A will correctly type an uppercase A as expected, so there seems to be some issue with combining the SHIFT key with non-character keys. I tried adding an autoDelay and adding long pauses between key events, but it didn't fix the issue.
I can of course program it to press the right arrow multiple times, but that's messier and slower and involves an extra step where I have to determine how many right arrow presses it takes to do a page-right.
Any ideas what I can do?

Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!