Java 写入键盘缓冲区,以便在自己的应用程序之外使用
我正在写一个应用程序,它可以获取苹果遥控器的信号,我已经读取完遥控器上的硬件输入。现在我必须在遥控器上复制这些输入,比如键盘缓冲区或其他存在的东西。我注意到Java.awt.Robot中有一个Java类,但是命令只是发送到Java应用程序本身,而不是整个系统(!),如果我错了,请纠正我 但我需要一个解决方案,让我的程序在整个系统范围内几乎按键盘,例如,在同时启动的程序(如MS Powerpoint)中支持使用箭头键进行页面翻转 有什么建议吗 我的机器人“Robert”(因为我来自德国)的一个不起作用的例子,它将在系统范围而不是应用程序范围内传递按下的按钮Java 写入键盘缓冲区,以便在自己的应用程序之外使用,java,operating-system,awtrobot,keystroke,Java,Operating System,Awtrobot,Keystroke,我正在写一个应用程序,它可以获取苹果遥控器的信号,我已经读取完遥控器上的硬件输入。现在我必须在遥控器上复制这些输入,比如键盘缓冲区或其他存在的东西。我注意到Java.awt.Robot中有一个Java类,但是命令只是发送到Java应用程序本身,而不是整个系统(!),如果我错了,请纠正我 但我需要一个解决方案,让我的程序在整个系统范围内几乎按键盘,例如,在同时启动的程序(如MS Powerpoint)中支持使用箭头键进行页面翻转 有什么建议吗 我的机器人“Robert”(因为我来自德国)的一个不起
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;
}
实际上,Robot类将能够“系统范围”控制鼠标和键盘,也就是说,您可以使用它模拟其他应用程序的键盘输入。然而,要让此应用程序接收“击键”,它实际上必须有焦点(处于“活动状态”)。对于这个现在有用的工具,似乎到目前为止还没有适合java实现的系统范围内击键模拟的解决方案:/