8
我正在尋找一種在Mac OS X 10.6中模擬鼠標移動事件的方法。它必須在鼠標單元中定義(而不是像素 - 這很重要!)在Mac OS X中模擬物理鼠標移動
我需要這個基本上由繪製線組成的實驗。
歡迎任何想法。
謝謝!
我正在尋找一種在Mac OS X 10.6中模擬鼠標移動事件的方法。它必須在鼠標單元中定義(而不是像素 - 這很重要!)在Mac OS X中模擬物理鼠標移動
我需要這個基本上由繪製線組成的實驗。
歡迎任何想法。
謝謝!
在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即可。
問題是,我正在測試Mac鼠標處理(和加速度),我希望系統認爲我移動了我的鼠標 - 看它如何移動光標。 我想這是一些較低級別的東西。我知道在Windows中可以使用「nircmdc」命令「sendmouse move x y」。 謝謝你的代碼,它會派上用場的另一個實驗! :-) – Dae 2010-08-06 09:38:24
@Dae在這種情況下,您需要將HID驅動程序或掛鉤寫入現有驅動程序。有一個用於OSX的開源Xbox HID驅動程序,您可以使用它作爲示例 - http://xhd.cvs.sourceforge.net/viewvc/xhd/xhd/ – 2010-08-06 13:06:29
@VladLazarenko這是一個很好的答案和解決方案試圖弄清楚。有沒有辦法通過C做到這一點?我可以堅持使用java,但我更喜歡C,並且很想知道是否有一種簡單的方法可以在C中執行此操作(而不是C#,目標C等 - 只是普通的C)。 – drjrm3 2012-10-16 00:54:25