Имитация физического перемещения мыши в Mac OS X - PullRequest
8 голосов
/ 05 августа 2010

Я ищу способ имитировать событие перемещения мыши в Mac OS X 10.6.Это должно быть определено в единицах мыши (а не в пикселях - это важно!)

Мне нужно это для эксперимента, который в основном состоит из рисования линий.

Любые идеи приветствуются.

Спасибо!

1 Ответ

7 голосов
/ 06 августа 2010

Одним из самых простых способов перемещения мыши в Mac OS X и других операционных системах является использование Java Robot .Он также может имитировать другие события.Например, мышь вниз или даже нажатие клавиши.Тем не менее, он перемещает указатель на заданные координаты экрана.Поэтому единственное, что вам нужно сделать, - это преобразовать ваши физические единицы в соответствующие координаты.Вот пример кода:

import java.awt.AWTException;
import java.awt.Robot;

public final class JavaRobotExample
{
    public static void main(String[] args) throws AWTException
    {
    Robot robot = new Robot();

    robot.setAutoDelay(5);
    robot.setAutoWaitForIdle(true);

    robot.mouseMove(0, 0);
    robot.delay(1000);
    robot.mouseMove(200, 10);
    robot.delay(1000);
    robot.mouseMove(40, 130);

    System.exit(0);
    }
}

Чтобы проверить этот код, поместите его в файл JavaRobotExample.java, а затем скомпилируйте его с помощью следующей команды:

javac JavaRobotExample.java

Однажды файл JavaRobotExample.classпроизводится, запустите его:

java JavaRobotExample

Среда выполнения Java поставляется с Mac OS X по умолчанию.Я не уверен насчет SDK (компилятор), хотя.Если у вас нет команды javac, просто установите Xcode .

...