SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
Wreath
Posts: 3
Joined: Tue Mar 27, 2018 7:06 am

SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Post by Wreath »

Hi there,

I've got a 3D application on a machine that I'd like to be the sole application receiving input from my SpaceMouse.
This has lead me to the following questions:

1. How can I create a custom .xml file from scratch for unsupported applications?
2. Is it possible to restrict the SpaceMouse to just send transform commands to one application through .xml files? (I've tried using the Grab tag but that seems to just keep the application in the focus of the LCD and doesn't send transforms to the application if you click on another application).
3. Is there a way to convert the old .scg files to xml files?
jwick
Moderator
Moderator
Posts: 3338
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Post by jwick »

Which application?
I can convert your scg file for you. PM me.
Wreath
Posts: 3
Joined: Tue Mar 27, 2018 7:06 am

Re: SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Post by Wreath »

Hi jwick,

I can't PM you as I don't think I have enough account activity, so I'll continue here.

Unfortunately, the application I'm using is intellectual property and I wouldn't be able to send the assosciated config files due to legal restrictions.
It's currently working the way we want with the SpaceMouse Pro, where the application receives 3D transform commands regardless of window focus (it rotates a cube as a part of it's own in-built testing), but the SpaceMouse Enterprise seems to stop sending the transforms when a different window is clicked/another application is in focus. So my questions are:

Is there any way we could have access to the conversion process you use for .xml to .scg and if not what options do we have?
Also is there any way to get our application to receive transform commands all the time like it does with the SpaceMouse Pro?
jwick
Moderator
Moderator
Posts: 3338
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Post by jwick »

Hello Wreath,

My converter doesn't go all the way to the new cfg file format. It only goes to the first one (slightly old), since I haven't converted scg files since the first batch of hundreds.

It's a pretty obvious process. You probably don't have to do much of anything unless you made extensive changes. Most developers only preassigned some text to buttons or adjusted filters/scaling.

You may just be seeing differences between 3DxWare 6 and 10. 10 does address every app, not just the apps that last opened a connection. It is possible to lock the driver to just your application if that is what you are missing. It can be done in a friendly or unfriendly way. That is, if you want your users to be able to use other apps or just yours.

Which API did you use to add 3D mouse support?
Wreath
Posts: 3
Joined: Tue Mar 27, 2018 7:06 am

Re: SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Post by Wreath »

Hi jwick,

It's been a while, I apologize for bringing this back form the dead.

In my last post said .xml to .scg when I meant to say .scg to .xml so my bad - although I'm guessing the answer is the same.
I didn't personally develop the software so I'm not sure what API was used, but I do have the following information:

SpaceWare SDK version 1.0.002 March 24 1998
SpaceWare Library 9.5.0, September 6 2001
3DxWare Driver 5.3.3 July 28 2005
jwick
Moderator
Moderator
Posts: 3338
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: SpaceMouse Enterprise: Creating custom xml files for unsupported applications

Post by jwick »

March 24, 1998. That was a while back. If it still works at all, it pays tribute to me not breaking the API.

I assumed you had .scg files you wanted to convert to xml files to work with the new driver.

I understand if you can't send me the scg file. There is more than likely not much of anything in there. At most you probably have a group of strings preassigned to each button. Those can be converted to the new format.

Look for example at the conversion that was done for our jet demo (jet.scg --> jet.xml).
The App_Function4 ButtonAction in the xml cfg is the equivalent of the UI_SB4 entry in the scg file.

You probably have a number of these UI_SB* entries. You need to make a ButtonAction entry for each.

The application was not changed to run with the old driver vs the new driver.

The most important task is to create a valid starting point for your cfg file. Take our default jet.xml file and change the obvious jet-related fields (e.g., ExecutableName) to refer to your app.

For controlling the focus, there is an API call that can do that, but if you can't change the application that's not an option.
If you need to make the driver behave more like the old driver, you can set a hard Grab in your cfg file. Add the following lines after </AppInfo> section close:

Code: Select all

  <CfgProperties>
    <Grab>Hard</Grab>
  </CfgProperties>
While your application is running the driver will only send data to your application, regardless of where the cursor is.
Post Reply