关键事件未调度

问题描述 投票:0回答:1

我正在尝试使用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键(或不是)。

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

java keyboard awt
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.