RFE: 'user.home' for loading plugins

At the moment jinput searches for the plugins in 2 different folders:
( ${foo} means the system property foo )

a) ${java.home}/lib/${jinput.controllerPath}
b) ${user.dir}/lib/${jinput.controllerPath}

The first folder is nice when the admin decides to install the plugin globally for all users and the second one makes sense for applications that were launched from the commandline

In my opinion there is one configuration missing and this is the JNLP environment (eg: Webstart). Applications that were started through JNLP have never a valid user.dir property because it is implementation dependant how the JNLP client manages its cache. The only directory that really works is the current user’s home dir. Therefore I recommend using the user’s home directory for finding jinput plugin.

I do not suggest anything regarding the exact path because this should be discussed. I only want to admit that it may be nice to coordinate the usage of such a directory with joal and jogl.

I don’t like the idea of simply adding the user’s home directory. I would rather see an API added to the JUtils plugin stuff where the application can explicitly add directories and/or JARs to the plugin search path. Then, if you choose, your app can add the user home directory, a directory of the applications choosing within the game hierarchy, or give it a known JAR file.

The concern is security. We don’t want to open any holes.