我正在尝试获取一个刷新按钮来重新加载一个控制器列表,但无论我调用多少次硬件检查都只执行一次
Controller[] controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();
这在第一次执行时工作正常,甚至可以将其打印到控制台中:
Jul 13, 2015 1:22:58 PM net.java.games.input.ControllerEnvironment log
INFO: Linux plugin claims to have found 2 controllers
然后这两个控制器会正确显示在我的列表中。
问题是这只运行一次,并且从不重新预先硬件扫描,因此在控制器断开连接时不显示。 I have found a question very similar to this already here on stack overflow but I am not really sure how it works or if it works for linux.
有人可以解释为什么getDefaultEnvironment()不会重新运行以及强制执行此操作的简单方法是什么?