【发布时间】:2012-08-14 22:02:10
【问题描述】:
我正在编写一个获取 Apple Remote 信号的应用程序,并且我已经完成了对遥控器上硬件输入的读取。现在我必须在遥控器上复制这些输入,例如键盘缓冲区或任何存在的东西。我注意到 java.awt.Robot 中有一个 Java 类,但命令只是发送到 Java 应用程序本身而不是系统范围(!),如果我错了,请纠正我。
但我需要一个解决方案,让我的程序在系统范围内虚拟地按下键盘,例如支持在同时启动的程序(如 MS Powerpoint)中使用箭头键进行翻页。
有什么建议吗?
我的机器人“罗伯特”(因为我来自德国)的不工作示例应该在系统范围而不是应用程序范围内传递按下的按钮。
switch(line) {
case LEFT: System.out.println("left");
robert.keyPress(37);
robert.keyRelease(37);
break;
case RIGHT: System.out.println("right");
robert.keyPress(39);
robert.keyRelease(39);
break;
case UP: System.out.println("up");
robert.keyPress(38);
robert.keyRelease(38);
break;
case DOWN: System.out.println("down");
robert.keyPress(38);
robert.keyRelease(38);
break;
case PLAYPAUSE: System.out.println("play pause");
robert.keyPress(516); // dollar sign
robert.keyRelease(516);
break;
case MENU: System.out.println("menu");
robert.keyPress(515); // euro sign
robert.keyRelease(515);
break;
}
【问题讨论】:
-
bitbucket.org/agynamix/ossupport-connector/downloads 现在找到这个有用的工具,似乎到目前为止还没有适合java实现的系统范围击键模拟的解决方案:/
标签: java operating-system awtrobot keystroke