(MacOS 10.14.3) java.awt.Robot - отсутствуют модификаторы, если во время набора текста движется мышь - PullRequest
0 голосов
/ 09 марта 2019

Когда робот печатает, и я перемещаю курсор во время этого процесса, у меня отсутствуют штрихи модификаторов.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.
Есть идеи, как это исправить или, по крайней мере, обойти это?

...