Submenus

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

Moderator: Moderators

Post Reply
OptionD
Posts: 6
Joined: Sat Jul 09, 2016 2:42 pm

Submenus

Post by OptionD »

Hi,

On another thread (viewtopic.php?f=25&t=16537) the topic of sub-menus or context sensitive menus was raised, and the answer was that the program had to send a message to the driver to indicate its state, and that the driver had to be developed in-house.

Can you expand on that? It would be really helpful to be able to access this feature; like the poster in the linked thread, my decision was heavily influenced by marketing that made it very clear that there was context sensitivity. To find out later that it's only on literally 3 programs is borderline false advertising. I'm willing to let it go, though, if we could access this via the SDK.
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Submenus

Post by jwick »

Are you the developer of a program or an end-user?
OptionD
Posts: 6
Joined: Sat Jul 09, 2016 2:42 pm

Re: Submenus

Post by OptionD »

Both, but I'm asking in the role of a developer: I'm investigating using a 3D controller in an OEM industrial machine application (I'm the lead on the UI/UX team). Our HMIs are primarily touch screens, but we do have some hardware controls for things that need to be operated while looking elsewhere (it's hard to use a touch screen and watch what's happening on a machine at the same time, so we need tactile controls sometimes). I'd like to replace a bunch of clunky industrial controls with a single, bespoke control, like a 3D mouse. To that end, I'd like the button functions and LED display to be context sensitive: depending on what part of the machine is being adjusted with the device, the functions of the buttons should change to suit that task.

Before anyone asks, we're talking about a line of industrial equipment that starts at $1 million per machine, so the cost of a nice controller isn't out of line. I've reached out to sales to talk to them about OEM sales, and perhaps an industrial hardened version of one of their products, but so far my emails have gone unanswered (sent from my work email, which I can't share here, as it could expose me to NDA issues).

That said, I do also use the device with some programs that could benefit from this: e.g. I use Modo, and, while the 3D navigation works great, the buttons don't: Luxology clearly hasn't spent any time building their drivers for the Enterprise controller; I do know that a .NET application can tell which window I'm in, so in theory the driver could change functions on the fly and let me set up different menus for different screens, if that functionality was exposed in the GUI. But that's really a separate question, and one I don't really expect to have addressed. Maya, same thing: I'd like to have different hot keys up depending on what I'm doing. If someone from Autodesk is reading this, please make this happen?
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Submenus

Post by jwick »

The driver implements "ButtonBanks". You can create as many ButtonBanks as you want (different names). There is a value called the CurrentButtonBank that determines which ButtonBank is being used at any given time.

These are all intentionally implemented in human-readable, modifiable XML files. You can change the values using any sort of utility you like, an editor (very inefficient), a script, a program, etc. (more efficient)

The SDK API also has a way of creating/deleting/setting ButtonBanks.

If we have a plugin, you may be fighting with it, as it tries to handle the ButtonBank creation/selection automatically.

There is also a more sophisticated method for exporting your application commands a Bank at a time to the driver, if this is appropriate for your application.

To find out more, please sign up as a developer if you have not already, and we can share samples with you via email. It's not practical to share large files/samples on the forum.

On the industrial side, we do make industrial controllers used by, for example, robotics companies. I think there are references on our web site.
If you send us an email through the api support email, we will chase down the appropriate internal contact. it's a shame they did not respond to your email.

The industrial controllers are just hardware ("springs and wires"). There is no user interface etc. It is often useful to at least prototype with our commercial/consumer controllers first.
OptionD
Posts: 6
Joined: Sat Jul 09, 2016 2:42 pm

Re: Submenus

Post by OptionD »

Outstanding, thank you! That's great info, jwick. I'll follow up with questions as they come up!
Post Reply