# XInput API (DLL für XBox 360 Controller) mit Java benutzen?



## Novanic (10. Nov 2006)

Hi Leute,

ich würde gerne die XInput API in/mit Java nutzen. Das ist praktisch eine neue Version von DirectInput und wird erstmals für den XBox 360 Controller verwendet.

Mit den .NET-Sprachen ist es kein Problem diese API (DLL) zu nutzen, aber für Java konnte ich da bis jetzt noch nichts finden...

Das wird warscheinlich nur mit JNI (mit dem ich mich noch nicht auskenne) gehen oder? Oder hat sich vielleicht schonmal jemand an die XInput API mit Java gewagt? 

Danke schonmal! 

Gruß Nova


----------



## SnooP (11. Nov 2006)

Ne - da kannst du Neuland begründen  ... ergo musst du einen Wrapper mit Hilfe von JNI schreiben, den du dann als eigene API verwenden kannst...


----------



## Novanic (12. Nov 2006)

Hi,

okay, ich habs jetzt mit JNI geschafft (zum ersten Mal was mit JNI gemacht). 
Jetzt kann ich die angeschlossenen Controller abfragen, die Buttons und Steuerkreuze der XBox 360 Controller abfragen und sie vibrieren lassen (in verscheidene Stufen).

Dazu hab ich mir die Methoden in C++ geschrieben und eine Wrapper-Klasse in Java geschrieben (mit JNI).

Find ich ja sehr schön das sowas mit Java möglich ist. 

Noch eine Frage zu JNI:
So ein JNI-Aufruf dauert warscheinlich relativ lange oder? Also wäre es doch besser die JNI-Aufrufe zu minimieren, sodass ein Aufruf mir so viele Informationen wie möglich zurückliefert oder?

Also z.B. nicht "isButtonAPressed()", "isRightPressed()" und so, sondern z.B. eine Methode die mir einen Buttonkombinationscode zurückliefert oder?

Danke für die Hilfe! 

Gruß Nova


----------



## Illuvatar (12. Nov 2006)

Ich denke, bei dem Beispiel das du nennst, ist die Frage, ob so ein JNI-Methodenaufruf oder die Abfrage, ob ein Button gedrückt ist, langsamer ist - je nachdem müsstest du die Methoden bauen. (Ich hab keine Ahnung, was schneller ist )


----------

