Using a gamepad with jinput

Hello,

I’m trying to use my X-Box gamepad for input. I found this should be possible with the library jinput.
I can detect my gamepad with this library, but thats about it.the hole lot of example code I found won’t work. I guess the problem is that the tutorials I found are to old. Jinput has changed over time.

So, how do I get startet best with this? Where do I find stuff that helps (for the current version)?

Thx :wink:

http://www.java-gaming.org/index.php/topic,21682.0.html

All the information in the getting started with jinput thread should work.

HTH

Endolf

Thx…this really helped.

There is one problem left (and I searched for a long time): I can find and use the rumblertest…but how do I acces the rumbler myself? Is there a topic somewhere I was too blind to find?

Hi

The javadoc should be enough, you can find it here, although thats just my local copy, so don’t rely on it being up to date.

From each controller you can get the list of rumblers it has, and then deal with them.

HTH

Endolf

OK, now I get the input …what I press on the controller. I can nicely use the rumblers. (though it shows I have 5 rumblers, but afaik my controller has only 2…whatever)

My (hopefully) last problem:

I repeatedly print which controllers my Programm can see.
It looks something like this:


while (true) {
    Controller[] controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();
    for (Controller cont : controllers) {
        System.out.println(cont.getName());
    }

    //here are some lines for polling and printing out data

}

The problem is when I unplug my gamepad it still appears in the list but can’t be polled anymore(of course…its not there). When I replug it, it still can’t be polled. As well its not found as a new one. The only thing I can do about this so far is restarting my programm.
Is there anything I can do about this? Am I doing something wrong? I don’t want to have to restart my programm to find new gamepads, or a repluged one.

The answer to that question is in the forum as well. At the moment, JInput does not rescan the controllers. It’s focus is as a games API, most gamers have their hardware plugged in when they start a game. That said, it is on the todo list, but no-one has volunteered and I don’t get as much time on my own code as I would like. That said, I have 3 days off work between Christmas and new year, so you all might get a late Christmas present from me :wink:

Endolf