Quicker Way to Switch Profiles?

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
gravanoc
Posts: 11
Joined: Fri Oct 12, 2018 3:06 pm

Quicker Way to Switch Profiles?

Post by gravanoc »

It is helpful to have multiple profiles setup for certain applications that are context-driven.

I am wondering what methods are available to quickly change a profile, hopefully in one to two clicks.

It can be a moderate inconvenience to switch profiles for a single program, while making sure you don't accidentally import new configs for all of your other apps.

Current process: 1) Open 3DConnexion Properties > 2) Select "More" > 3) Select Import Settings > 4) Choose File > 5) Confirm Config > 6) Click-through warning > Done
3dx Profile 1.png
3dx Profile 1.png (132.69 KiB) Viewed 4955 times
3dx Profile 2.png
3dx Profile 2.png (127.62 KiB) Viewed 4955 times
3dx Profile 3.png
3dx Profile 3.png (33.04 KiB) Viewed 4955 times
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Quicker Way to Switch Profiles?

Post by jwick »

Hello gravanoc,

I see from another of your posts that you are comfortable editing xml files.
Then you have access to much more capability. See this post for ButtonBank creation.

You can create Banks of Button & Axis Assignments and switch between them with device buttons, or Radial Menus. On the device, there is a nice option to hold a device button down as a sort of shift key to access a different set of buttons, or even a panel of possible new Banks (then press one of these temporary buttons to switch to a new Bank). It's similar to the way a RadialMenu works, but on the device. This is really only useful on a device with an LCD though or you won't have much of an idea what is going on.

There are caveats. E.g., this doesn't work with some applications.

That's probably not enough info. I'll fill in the details as you get stuck. Just ask.

Jim
gravanoc
Posts: 11
Joined: Fri Oct 12, 2018 3:06 pm

Re: Quicker Way to Switch Profiles?

Post by gravanoc »

Jwick,

Here's what I've got so far. I just looked through the base.xml and figured out a few things. Also, I get what you're saying about the LCD - CadMouse has none, but it would still be interesting to see if I could get the feel for maybe 2 switchable profiles.

AxisAction Type split into App, Joystick, Mouse, & Keyboard. Here, the relative parts seem to reference the Mouse directional abilities across the X, Y, and Wheel.

ButtonAction Type divided into:
1. App
2. S3DM (Virtual 3D Mouse Button Events)
3. V3DCMD (Virtual 3D Commands)
4. Driver (Internal Handled Actions - Do Nothing)
5. Driver_Other
6. Keyboard (Emulation Functions - Single Keys)
7. Macro (User Defined Macros - includes some 3dx)
8. Mouse (2D Mouse)
9. Joystick
10. Menu (Old Radial Menus)
11. Menu (New Radial Menus)
12. AxisFilter
13. MotionMacros

These appear to be related to the 3DConnexion Properties menu. App works on the ones setup in the main Cfg folder, Keyboard, Macro, Mouse, & Menu is there for me by default on everything. The only thing that can be done with them that I know of is change the picture reference. I believe this is all tied into the InheritsFrom tag in the Device settings. AxisFilter, MotionMacros, etc. are setup for 3D Standard Mouse. The AxisFilter section has a Duration tag for every ButtonAction that is always PressAndHold, one Set tag, and one Scale tag.

MotionMacro section has several interesting tags such as Increment, Count, & Sleep. I wonder how Sleep is different from Pause, which is what I use in my macros all the time. I figure Increment has something to do with how each click up or down of the wheel is interpreted & same with count. Sleep might be something to prevent MotionMacro from being triggered too many times.

Next is a short section for Radials called Menus. Nothing special here other than assignment of which applet to run, the display name, the internal name, the actual action carried out, and whether gestures are enabled or not. That's my take.

Then we get into the Devices, which first have to be considered by looking at the parent devices - Standard 3D Mouse, Standard 2D Mouse, etc. This is the important part for the ButtonBank's you mentioned, since the default's appear to be defined here. Looking at the Roaming App cfg's I noticed the part where ButtonBank's are assigned. If I go into an app cfg from the main folder I can change the button bank defaults. I haven't messed with it much, but that's the general idea I'm getting. I haven't noticed any If/Switch idiom that would allow for a button to switch profiles, unless it is similar to the PressAndHold attribute setting in the AxisFilters.
Post Reply