Question about Joystick.rumble(float amount)

Edit: probably a question mostly posed @Momoko_Fan as he is cited as the author of most of these classes.

this is not very important, just for fun mostly but…

i cant seem to get this method to do anything. i have an Xbox 360 controller (which has 2 vibration motors inside) connected to my Windows PC, i am able to map all of the buttons and axes and see them used in my test app, but i cannot seem to get any rumble effect to reach my gamepad.

i am using the Joystick method rumble(float) with a test value of 0.9f in many places in my code, but still no haptic feedback :frowning:

i have tried to find where the method setJoyRumble() from the JoyInput interface is actually implemented so i can find out how (and if) a signal is sent back to the gamepad, but the JoyInput parameter seems to be passed to the Joystick constructor internally only and so i cant find it.

i can follow the trail up until the inputManager uses getJoysticks() to create an array of Joystick objects and then i have no idea where to look. i got lost following InputManager down to Application, then on to JmeContext which was another interface…

so… my question is, does this method work? (and if so, how can i use it?)


a funny thing i noticed is that whenever i call getAxisCount(), i seem to get 1 more axis then i can actually map for my joystick, my Xbox 360 controller returns 6 axes while i can only map 5 (0=left stick y, 1=left stick x, 2=right stick y, 3=right stick x, 4=triggers) and i also have a Logitech Dual Action USB gamepad and it returns 5 axes while i can only map 4 (0=right stick y, 1=right stick x, 2=left stick y, 3=left stick x). for both joysticks, all useable axes and even buttons that can be pressed are accounted for and still, getAxisCount() returns 1 extra, unused axis. is this a bug, or am i doing something wrong?