If they should, then some extra bits are required in org.lwjgl.input.Controllers 
Checked on PC only so far. Got to do something else so will check on Mac later
import java.security.AccessController;
import java.security.PrivilegedAction;
...
public static void create() throws LWJGLException {
if (created)
return;
try {
net.java.games.input.Controller[] found = (net.java.games.input.Controller[])
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
String plugins = System.getProperty("jinput.plugins");
if (plugins == null) {
if (System.getProperty("os.name").startsWith("Win"))
System.setProperty("jinput.plugins",WINDOWS_PLUGIN);
if (System.getProperty("os.name").startsWith("Lin"))
System.setProperty("jinput.plugins",LINUX_PLUGIN);
if (System.getProperty("os.name").startsWith("Mac"))
System.setProperty("jinput.plugins",MACOS_PLUGIN);
}
return ControllerEnvironment.getDefaultEnvironment().getControllers();
}
});
ArrayList lollers = new ArrayList();
for (int i=0;i<found.length;i++) {
net.java.games.input.Controller c = found[i];
if ((!c.getType().equals(net.java.games.input.Controller.Type.KEYBOARD)) &&
(!c.getType().equals(net.java.games.input.Controller.Type.MOUSE))) {
lollers.add(c);
}
}
int length = lollers.size();
for (int i=0;i<length;i++) {
final net.java.games.input.Controller c = (net.java.games.input.Controller) lollers.get(i);
AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
createController(c);
return null;
}
});
}
created = true;
} catch (Throwable e) {
throw new LWJGLException("Failed to initialise controllers",e);
}
}
Maybe something just keeled over. I’ll do some more scientific testing.