Java Jinput: Controller neu scannen / laden

Ich benutze Javajinput Bibliothek, um Daten vom Joypad zu lesen, und ich habe Probleme beim NeuladenControllersIch benutze dies, um sie zu laden:

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[]{});
}

Dies funktioniert einwandfrei, aber wenn ich meinen Controller vom Computer trenne, wird er beim Aufrufen erneut gefunden und umgekehrt (wenn Sie ihn nach der ersten Überprüfung anschließen, wird er überhaupt nicht gefunden).

Ich habe versucht, den Schlaf vor der Suche nach der Faust einzuschalten, mit den folgenden Ergebnissen:

Controller werden beim ersten Aufruf der Methode (nicht beim Programmstart) tatsächlich gescanntBei einem erneuten Aufruf werden immer die Controller zurückgegeben, die zum ersten Mal zurückgegeben wurden.Beim ersten Aufruf wird auch ein Warnhinweis angezeigtSelbst wenn der Controller verbunden ist (und funktioniert), dann getrennt wird (er wird es trotzdem finden) und erneut verbunden wird, funktioniert es nicht

Warnung von Punkt 3: (Format nicht gut in der Liste)

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

Ich benutze Win 8 und hatte das gleiche Problem unter Win 7. Ich hatte dies auch mit der Maus versucht, die gleichen Ergebnisse.

Wie kann ich Steuerungen für die 2., 3. und so weiter Zeit tatsächlich neu laden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage