2010-08-05 4 views
8

Mac OS X 10.6에서 마우스 이동 이벤트를 시뮬레이트하는 방법을 찾고 있습니다. 픽셀 단위가 아닌 마우스 단위로 정의해야합니다. 중요합니다.Mac OS X에서 실제 마우스 이동을 시뮬레이트합니다.

기본적으로 그리기 선으로 구성되는 실험에 필요합니다.

모든 아이디어를 환영합니다.

감사합니다.

답변

7

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 파일에 넣어,이 코드를 테스트하려면 다음 명령을 사용하여 컴파일하려면 : JavaRobotExample.class 파일이 생성됩니다

javac JavaRobotExample.java 

되면, 실행을 다음 코드 예제 그것 :

java JavaRobotExample 

Java 런타임은 기본적으로 Mac OS X과 함께 제공됩니다. SDK (컴파일러)에 대해서는 잘 모르겠습니다. javac 명령이없는 경우 Xcode을 설치하십시오.

+0

문제는 Mac 마우스 처리 (및 가속)를 테스트하고 있으며 시스템에서 마우스를 움직 였다고 생각하여 커서가 어떻게 움직이는 지 확인하려고합니다. 이것이 저수준 물건이라고 생각합니다. Windows에서 "nircmdc"명령을 "sendmouse move x y"와 함께 사용하는 것이 가능하다는 것을 알고 있습니다. 코드를 제공해 주셔서 감사합니다. 다른 실험에 도움이 될 것입니다. :-) – Dae

+1

@Dae이 경우에는 HID 드라이버를 작성하거나 기존 드라이버에 후크해야합니다. 예를 들어 사용할 수있는 OSX 용 하나의 오픈 소스 Xbox HID 드라이버가 있습니다. - http://xhd.cvs.sourceforge.net/viewvc/xhd/xhd/ –

+0

@VladLazarenko 이것은 훌륭한 대답이고 내가 아는 한 해결책입니다. 알아 내려고. C를 통해이 작업을 수행 할 수있는 방법이 있습니까? 나는 자바와 함께 할 수 있지만 C를 더 좋아하고 C에서이 작업을 수행하는 간단한 방법이 있는지 알고 싶습니다 (C#, 목표 C 등 - 보통 C). – drjrm3