关键事件未调度

时间:2019-11-19 21:14:09

标签: java keyboard awt

我正在尝试使用Java制作自动点击程序(具有激活的快捷方式),但是自动点击程序切换快捷方式不起作用。

我的代码:

KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher((e) -> {
  System.out.println(121212); // doesn't work
  if(e.getID() == KeyEvent.KEY_PRESSED && e.getKeyCode() == 74) {
    active = !active;

    new Thread(() -> {
      while(active) {
        try {
          int pre = (1000 / cps + jitterRandomValue / 2) / 3;

          bot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
          TimeUnit.MILLISECONDS.sleep(pre + jitterRandom.nextInt(jitterRandomValue));
          bot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
          TimeUnit.MILLISECONDS.sleep(pre * 2 + jitterRandom.nextInt(jitterRandomValue));
        } catch(Throwable ex) {
          ex.printStackTrace();
        }
      }
    }).start();

    return true;
  }

  return false;
});

我的算法将鼠标按钮保留为“单击时间”的1/3。 键码74是 j 键(或不是)。

编辑::我想我必须找到一个无需专心于我的应用程序的键盘管理器。如果没有,我可以使用GLFW(带有本机界面)吗?

1 个答案:

答案 0 :(得分:0)

好的。现在,我正在使用com.github.tulskiy:jkeymaster:1.2,并且我的全局快捷方式可以正常工作。我认为问题已经解决。