我正在构建一个虚拟控制器,以便残疾人可以玩PC游戏。 WASD工作正常。但我还需要它来模拟右键单击。我的{"class":
{
"name":"history",
"grade":"10"
}
}
和BUTTON3_DOWN_MASK
事件中有mousePressed
,但实际上并没有做任何事情。
我的代码如下。我知道它很草率,但我想先弄清楚这个:
mouseReleased
答案 0 :(得分:0)
实际上,它正在发挥作用。可以看到是否添加了一些这样的调试信息:
@Override
public void mouseReleased(MouseEvent e){
System.out.println("ReleasingMouseButton: " + e.getButton());
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
}
@Override
public void mousePressed(MouseEvent e){
System.out.println("PressingMouseButton: " + e.getButton());
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
}
现在,如果您单击其中一个标签,您将看到您将被困在单击释放事件循环中。事实上,机器人实际上就像你想要的那样点击你(或者更喜欢你编程来这样做)。
输出片段:
ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3
我怀疑这是你想要的,所以你需要为它添加一些额外的逻辑(例如,检查点击了哪个鼠标按钮)