For quite a while now, I've been trying to do some things that shouldn't be all that complicated, but they're seemingly impossible! Someone please, please, PLEASE tell me how to do ANY of them! I just want to get a Novint Falcon, Razer Hydra, Oculus Rift, and Logitech Force 3D Pro to all work in C#. I'm using Visual Studio 2012 Express on Windows 7 Professional.
For the first problem, Novint has instructions on how to set up a Falcon in Visual Studio, but only version 6 or 2003, which are ancient, and hardly even available/compatible anymore! And the 2012 interface is completely different. Also, their instructions are only for C++. If it's only possible to do it in C++ I can accept that, and I guess I'll have to make a wrapper for C#, but I just need it working somehow, regardless of the language. Their customer support is a joke in which I fail to see the humor. They just told me that it works the same way in 2012 as 2003, and it clearly doesn't, since the interface has almost none of the same options. When I politely explained this, they told me I should return the Falcon for a refund. However, I don't see how that would solve my goal and enable me to get it to work programmatically. Basically, I need to do these things:
- Set some environment variables (this was actually done automatically during installation)
- Set the lib and include paths (I think I may have figured that one out but I can't verify whether it's correct)
- Include the library (for some reason I can't get it into my project and have it work at all)
It's actually a lot more complicated than it sounds. I was getting a lot of errors and things weren't available that seem like they should be. I'm on a different computer now so I don't have the details, but in any case, if anyone has ever used this API or made a Falcon work programmatically AT ALL, please tell me how! If you somehow got it to work in DirectInput I'd be interested to know that as well!
As for the Razer Hydra, it seems that their API is also for C++ (although I heard something about a wrapper for C#. Does anyone know about this or its progress? BTW this is supposedly the same API that will be used by STEM.) I seemed to be able to sloppily get their DLLs and garbage imported into a simple C++ test project, in which I then just called a function to check if the Hydra is connected, and wouldn't you know it - it doesn't compile! I got a error that the DLL is invalid or some nonsense. I tried it with the 32 and 64 bit DLLs and neither work, though they each say a slightly different position in the file which is invalid. I got these files directly from Sixense (they created them) and I didn't have any error downloading them or installing anything. The drivers and everything else work, and so should this. I don't see how there could be a problem with the files, because they're the same ones that any developers would use. It seems like something else must be going wrong but I can't imagine what. Has anyone been able to get this to work, and if so, how?
Honestly, I don't even remember where I ended up with the Oculus Rift (I think it's another C++ one though. Doesn't anyone use .NET?) I think I got some third party thing because I couldn't find the files I needed directly from them. Anyway, nothing works, but I didn't mess with it much because I've been focusing on the other ones more. Regardless, if anyone has any info about this, as usual, please tell me!
The code to access the Force 3D Pro joystick works, but not the force feedback (which is the part I really need!) I know the motor is working correctly, I just can't get the code right. I'm using DirectInput in SharpDX (almost identical to SlimDX) in C#. I get an error that the device is unregistered. I don't see any function for registering the device, anywhere in the whole API. I only have vague recollections of things I did in DirectInput in C++, and since moving to C#, I haven't had to register anything, and the SharpDX documentation is terrible. So if anyone knows how to do this, it would be much appreciated!
By the way, for some reason, people often mistake me for a beginner and accuse me of biting off more than I can chew, and telling me to give up (much like the Novint customer support). If that's all you intend to do, save your breath, er... typing, because:
A) I'm never going to give up on this. It's tremendously important that I get these things working, even if it takes me 20 years!
B) I'm not a beginner at all. I've been writing code longer than some of you have been alive. It's just that they keep changing the interface in Visual Studio, so the way to import any libraries keeps changing, and these companies provide little to no support for development for their products, and nothing ever works correctly for some reason. It's like the whole world's defective, and it's driving me mad!
But I would appreciate any information that could POSSIBLY be useful! Thanks a lot!