Some of you may know of the 6DOF controller known as the Razer Hydra designed by Sixense. You may also know that the only way to communicate with the controller is through a set of C++ libraries (here). This is quite an inconvienience for Java developers such as myself so I have been working on a Java wrapper for the Sixense libraries for a little while now. This wrapper is in no way complete though it is slowly getting closer. I should note that I am not a C++ programmer so if any one of you fine chaps would like to critique my code, feel free. Have fun!

Features:~ Java methods for each function in the sixense library~ Java methods for the Controller Manager, ButtonStates, FPSPlayerMovement, FPSViewAngles, FPSEvents and Derivatives~ Java enums provided in place of C++ enums

Included in the zip file:~ SixenseJava.jar: the Java end of the wrapper~ SixenseJava32.dll: the native side of the wrapper compiled for Win32~ SixenseJava64.dll: the native side of the wrapper compiled for x64~ libSixenseJava32.so: the native side of the wrapper compiled for linux-i386~ libSixenseJava64.so: the native side of the wrapper compiled for linux-x86_64~ JavaDocs for everything implemented so far!~ Source code for both the Java portion and native portion~ Symbols file for SixenseJava*.dll

Goals:~ Provide methods for other functions in the sixense_utils library~ Provide JavaDocs for every function

I am only a C++ programmer by necessity so I may not know of some tool, but from what I have read cross compiling is best avoided. That being said, I have worked tirelessly over the past few days to learn how to compile this properly on Linux. The libraries are within the zip file for public consumption.

Anywho, I should mention that pre-compiled Mac libraries will not be coming until I finish wrapping the remaining few classes as I do not have a Mac (at least one running a Mac OS) and I am avoiding the annoyingness that is compiling for Mac on linux as long as possible.

Sorry to take so long to reply, starting school has eaten all of my time. Anywho, just to make sure none of the basics are being forgotten, do you have sixense.dll in your libs folder? I'm not entirely sure it matters, but it should be mentioned that the library was compiled with Java 7.

I'm also keep trying with every possible combination of dll's and nothing is working. Up to date, Sixense created two versions of drivers for Hydra (1.00 and 1.01), and one comes from Razer, so it's a kind of mess now. It would be nice if someone with working code upload package with all necessary drivers (in my case win32 ones). It would be a great help. Thanks in advance

yeah,I gave up on this one. I used a OSC streamer software that streams the hydra sensor values into a UDP localhost socket.Not the best way, but the only way i could make it work.That's really disapointing.

I see... Actually, I did a same thing before to send data from Wiimote to Java - send data over UDP socket via GlovePIE and receive it in Java application. Thought that maybe this time it'll be much easier, but maybe I'll try to do same thing to Hydra or just write wrapper from scratch. Thanks for response in topic.

I'm sorry that it seems that so many people are having trouble with my wrapper. I haven't had much time to work on this project, but I'll recompile everything and try it on a few untested computers to try to reproduce the problem.

Thanks for all your time you give this project and being interested in current problems. I'm very glad and hope that someday even more people will use Hydra in Java language. In fact, the real problem isn't your wrapper but many configurations that came up to day, creating a small mess with compatibility. Hope everything will work once again.

I have tested the library with newly downloaded libraries from Sixense and have found everything to be working. So far I have only been able to test on Windows machines but I will soon test on Linux and Mac machines as well. I have added detailed instructions on how to place the native libraries to the Readme on the GitHub and have included a test program that outputs the position and rotation of the controllers to stdout. To use the built in test program just run java -jar SixenseJava.jar in the command line with all native libraries placed in the same directory.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org