I need to use vibration for my java game, which is only available through xinput since I use xbox controllers. How can I achieve this with jna? I've never worked with dlls before so any help is appreciated. I looked at some tutorials but I haven't found anything about using structures (specifically XINPUT_VIBRATION vibration;) and such.

This is what I want to do in the DLL:

ZeroMemory( &vibration, sizeof(XINPUT_VIBRATION) );
vibration.wLeftMotorSpeed = 32000; // use any value between 0-65535 here
vibration.wRightMotorSpeed = 16000; // use any value between 0-65535 here
XInputSetState( i, &vibration );

The above is taken from http://msdn.microsoft.com/en-us/library/windows/desktop/ee417001(v=vs.85).aspx#setting_vibration_effects


  • \$\begingroup\$ An alternative to using Java Native Access is to use the JINPUT library with which you can control an Xbox controller github.com/jinput/jinput \$\endgroup\$
    – Roy T.
    Aug 31 '14 at 21:57
  • \$\begingroup\$ I already use jinput, however it does not support vibration on the xbox controller since it uses directinput instead of xinput. \$\endgroup\$
    – David
    Sep 1 '14 at 9:19

Thank you world, this library works: https://github.com/StrikerX3/JXInput


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.