(MacOS 10.14.3)java.awt.Robot-如果在键入期间鼠标移动,则缺少修饰符

时间:2019-03-09 09:42:21

标签: java awtrobot macos-mojave

在输入Robot并在此过程中移动光标时,缺少修饰键。导致使用“ a”而不是“ A”,“;”的Ofc而不是“:”等等。
如果我不触摸触控板,打字或多或少会很不错:99-100%的成功字符。相反,如果我要移动光标,则成功字符最多为0%。

public static void main(String[] args) throws Exception {
    Robot r = new Robot();
    r.setAutoDelay(10);
    //time for switching to text editor window
    Thread.sleep(2000);
    for (int i = 0; i < 100; i++) {
        r.keyPress(KeyEvent.VK_SHIFT);
        r.keyPress(KeyEvent.VK_A);
        r.keyRelease(KeyEvent.VK_A);
        r.keyRelease((KeyEvent.VK_SHIFT));
    }
}

此外,控制台中有错误

  

java [5305:1391464] pid(5305)/ euid(501)在非主线程环境中调用TIS / TSM,错误:不允许这样做。请在主线程中致电TIS / TSM!

问题对于MacOS是实际的。相同的代码在Windows 10上可以完美运行。
关于如何解决或至少要解决的任何想法?

0 个答案:

没有答案