Java Jinput: повторное сканирование / перезагрузка контроллеров

Я использую Javajinput библиотека для чтения данных с джойстика, и у меня проблемы с перезагрузкойControllersЯ использую это, чтобы загрузить их:

public Controller[] findStickControllers() {
    ControllerEnvironment ce =
            ControllerEnvironment.getDefaultEnvironment();

    Controller[] cs = ce.getControllers();

    System.out.println(cs.length); //test

    ArrayList<Controller> sel = new ArrayList<>();

    for (Controller c: cs) {
        if(c.getType() == Type.STICK) {
            sel.add(c);
        }
    }

    return sel.toArray(new Controller[]{});
}

Это работает нормально, но если я отсоединяю свой контроллер, вызов этого снова найдет его, и наоборот (при подключении после первой проверки он вообще не найдется).

Я попытался уснуть перед первым поиском, с такими результатами:

Контроллеры проверяются при первом вызове этого метода (не при запуске программы)При повторном вызове он всегда возвращает те же контроллеры, что и в первый раз.Первый звонок также напишет предупреждение нижеДаже когда контроллер подключен (и работает), затем отключен (он все равно найдет его) и снова подключится, он не будет работать

Предупреждение из пункта 3: (плохо отформатирован в списке)

WARNING: Found unknown Windows version: Windows 8
Attempting to use default windows plug-in.
Loading: net.java.games.input.DirectAndRawInputEnvironmentPlugin

Я использую Win 8, и у меня была та же проблема на Win 7. Я также пробовал это с мышью, те же результаты.

Как я могу перезагрузить контроллеры на 2-й, 3-й и так далее?

Ответы на вопрос(4)

Ваш ответ на вопрос