Hi
I’ve just had a reasonable length phone all with KevGlass, and one of the things we discussed is why JInput doesn’t seem to be used much. Kevs opinion is that one reason might be the plugin system that seems to cause so many people so much problem. I really like the flexability it provides, but can see how developers working on games don’t want to spend ages trying and failing to get it working.
One solution that we came up with I quite liked. The plugin loader in JInput is modified so if it finds no plugins, it loads (as a ClassLoader.getSystemResource call) a file, something like defaultPlugin. This file contains the string name of the plugin to load. There is a copy of this file in each plugin src folder, and on compiling JInput as well as the current files, one jar for each plugin, that contains not only the plugin code, but the jinput core jar contents and the jutils core contents and that file. So a dev on say windows only needs the jinput-dx8.jar and the native library. If more plugins on a particular platform are required, the dev will probably research the plugins system, which will still be the first approach take in the plugin loading code.
This leaves us with the flexability we have, but adds the simplisity that most games devs will be looking for. That combined with the new static Identifiers should make JInput a much more tempting option.
Comments/questions?
Endolf