谁能告诉我什么机器人按键是在Mac上的“控制”键? 我试过VK_Control,VK_META,CTRL_MASK和CTRL_DOWN_MASK还是什么都没有。Mac上的“控制”键的机器人按键
请注意:它是唯一的控制键在旁边的“fn”键左侧的mac。不是选项或命令。谢谢
谁能告诉我什么机器人按键是在Mac上的“控制”键? 我试过VK_Control,VK_META,CTRL_MASK和CTRL_DOWN_MASK还是什么都没有。Mac上的“控制”键的机器人按键
请注意:它是唯一的控制键在旁边的“fn”键左侧的mac。不是选项或命令。谢谢
使用数字常量不好。我可以在Groovy中提供运行示例,这将证明Robot.keyPress(KeyEvent.VK_CONTROL)
正在完美运行。可能吧,你忘了拨打电话?
P.S.经测试在MacOS MAVERIC与Java 1.6这样的片段。(Groovy中)
EDITED(我可能会想,你需要改变按Ctrl和F12发放顺序。F12应该被释放,而按Ctrl仍然按下,则修饰符将被正确设置好的,并且F12将被视为按Ctrl + F12)
new SwingBuilder().frame(pack: true, show: true, defaultCloseOperation: JFrame.EXIT_ON_CLOSE) {
textField(keyPressed: { KeyEvent e ->
println("$e.keyCode, $e.modifiers") // prints 123 2 in response to Robot event.
if (e.keyCode == KeyEvent.VK_SPACE)
{
new Robot().with {
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_F12);
robot.keyRelease(KeyEvent.VK_F12); // Release it first.
robot.keyRelease(KeyEvent.VK_CONTROL);
} } }) }
我不是S为什么KeyEvent.VK_CONTROL不起作用。你能提供一个你试用过的可运行的例子吗? – MadProgrammer
另外我应该提到的是,我试图让Android模拟器旋转 'robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_F12); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_F12);' – JJacquet
尝试添加['autoDelay'](http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html#setAutoDelay( int)),我发现这在很多情况下都有帮助 – MadProgrammer