Driver and RawInput

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
mrohn
Posts: 2
Joined: Fri Sep 24, 2010 8:34 am

Driver and RawInput

Post by mrohn »

Hello,

as you suggested in the 'new' SDK I switched my implementation from the old one using 3DxInput to a new one using RawInput. It is working fine and nice that the driver is no more necessary.

But, if someone wants to invert an axis or a change in sensitivity I have to change my software. My hope was the new beta driver. But it seems that also the new driver has no effect in the case using RawInput.

Is it planed to re-enable the combination of RawInput and the driver or do I have to support this in my software?


By the way our software is a 3D physics simulation for (walking) robots.
jwick
Moderator
Moderator
Posts: 3341
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

Hi mrohn,

Thank you for continuing to support 3Dx devices.

Unfortunately, there are a couple of betas running here at the same time. Sorry for the confusion.

The beta that was announced yesterday (?) is a beta of a point release of the old driver (3DxSoftware v3.x, which includes 3DxWare v6.x).

To work tightly with RawInput in the way you describe, you need the 3DxSoftware v4.x beta (3DxWare v7.x). That is a whole new driver. That is currently in a closed beta. An open beta will be available "soon".

Still, we want your applicaiton to work without the driver installed. That means you should handle the motion axes and the standard V3DK* buttons, which would include filters and scaling. These parameters are in your domain, in your mathematics. This allows your end-users to get plug'n'play functionality out of the device w/o installing the driver.

It is our plan, as you seem to agree, to have people install the driver to get the unusual functionality like you suggested e.g., swapping axes, assigning keyboard macros. For that, they need the v4 driver.

Jim
3Dx Software Development
darogamishra
Posts: 3
Joined: Mon Feb 14, 2011 6:42 am

About v4 driver

Post by darogamishra »

Hello,

Please let me know from where I can get 3DxSoftware v4.x beta (3DxWare v7.x) driver.
If possible please please the downloadable link.

Also let me know when is it planned to be available to all?

Thankyou.
jwick
Moderator
Moderator
Posts: 3341
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

3DxSoftware 4 is still in closed beta. It will be announced on the 3DxLabs web site when it is available for open testing.

What specific use do you have in mind for it?
darogamishra
Posts: 3
Joined: Mon Feb 14, 2011 6:42 am

"Reverse" and "change in sensitivity" us

Post by darogamishra »

Thankyou for the quick reply.

I have similar question as mrohn.

I have implementation using RawInput, but our application needs the "inverting an axis" and "change in sensitivity" functionality. Just wanted to know that will we be able to implement this in v4.x ?

Is there some way out to implement above functionality in 3.12 version using RawInput ?
jwick
Moderator
Moderator
Posts: 3341
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

The largest benefit of using Raw Input, is that your application can use the 3Dx device without requiring the user to install software from 3Dconnexion.

We'd like to have you implement features like reversing an axis or changing a scale factor in your code. If you do this, all the user needs to do is plug his device in, and it will immediately start working.

If you fail to do this, the user will be forced to install 3DxSoftware 4, which will add this functionality.
darogamishra
Posts: 3
Joined: Mon Feb 14, 2011 6:42 am

Sample code for reversing/changing scale using RawInput

Post by darogamishra »

It is really great thing that users can plug and play with the device.

I have installed "S3DM_SDK_v2-0-1_r6379.zip" SDK. There are some sample code with it. But there is no sample code for reversing an axis or changing a scale factor in it.

Please help me with sample code on reversing an axis and changing a scale factor using RawInput. Some reference in this context would also be helpful to me.

Thankyou.
jwick
Moderator
Moderator
Posts: 3341
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

We try to stay out of GUI design in your application, although we do suggest a popup menu as shown in the S3DM SDK. We want to fold into your application in the most seemless way possible. Somewhere in your existing GUI, you may have a place where users can customize your application. You could add a section in there to customize the 3D mouse. I would add a checkbox for each of the 6 axes to reverse the axis. I'd also add a slider to provide a scale factor for each axis.

When you get the data from the device (from Raw Input), you can do the equivalent of the following:

axis[0] *= (Axis0ReverseCheckBox.Checked ? -1 : 1) * Axis0ScaleSlider.Value);
axis[1] *= (Axis1ReverseCheckBox.Checked ? -1 : 1) * Axis1ScaleSlider.Value);
(etc.)

Then use the axis values as before.

This is all the 3DxWare GUI does.
Post Reply