Change Default Button Function

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
heyheytommyj
Posts: 4
Joined: Tue May 21, 2019 11:11 am

Change Default Button Function

Post by heyheytommyj »

I'd like to change the default button settings for my CadMouse and SpaceMouse. I tried searching the forums but came up empty handed. Is there a simple way to alter the default button actions. This is particularly annoying for use with Inventor. Every time I encounter a different context sensitive environment, I need to adjust the button actions !

Please help!

Tom
aalsalihi
Posts: 128
Joined: Mon Apr 15, 2019 9:14 am

Re: Change Default Button Function

Post by aalsalihi »

Hi heyheytommyj,

If you have the driver installed and running then follow these steps to change/Add functionality for all the buttons:

- Open 3Dconnexion Home
- Click on Settings
- Make sure the device is selected
- If you mapping button for Inventor, then make sure it's Inventor at the top of the dialog then follow the steps
- Click on Buttons
- Change the default buttons to whatever you like
- Close it then test

Thanks
Abdul. A
heyheytommyj
Posts: 4
Joined: Tue May 21, 2019 11:11 am

Re: Change Default Button Function

Post by heyheytommyj »

aalsalihi wrote: Wed May 22, 2019 6:47 am Hi heyheytommyj,

If you have the driver installed and running then follow these steps to change/Add functionality for all the buttons:

- Open 3Dconnexion Home
- Click on Settings
- Make sure the device is selected
- If you mapping button for Inventor, then make sure it's Inventor at the top of the dialog then follow the steps
- Click on Buttons
- Change the default buttons to whatever you like
- Close it then test

Thanks
Abdul. A
Abdul. A

Thanks for responding! Unfortunately I am am aware of how to change the button actions, but I'm interested in changing the DEFAULT button actions. For example....

If I open a new application and press the left SpaceMouse button I'm presented with RM Tools and the right button RM Views.

I would like to alter the defaults to something else. In my case I'd like the left button to be ESC and the right to be CTRL. But the key thing here is that I want this to happen for all the applications which I haven't changed the button assignments for!

I use Inventor primarily and for the convenience of most people the button assignment is context sensitive. This means that every time I encounter and new context I have to re assign the buttons. Perhaps this would be more useful if I had more buttons, but I find that ESC and CTRL are the primary reasons I remove my hand from the space mouse regardless of the context I'm using.

The fact the the default actions brings up radial menus is particularly annoying. This is due the frequent situation where I think I have the Inventor window active, but I actually have some other application active. When I press a button with the anticipation of an action in Inventor, I'm instead presented with a radial menu. When I then move the mouse because I wan't expecting a radial menu, some undesired action is then performed!

I'd be happy to edit some XML file to make this happen if someone can walk me through it!

Thanks in advance,

Tom
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Change Default Button Function

Post by jwick »

If a button is not specifically assigned to something more specific, the driver will pick up the assignment from a default location.

It can be slightly different for each application but it is all available for your tuning. The GUI may or may not help you here. In general it has to be done by editing XML files. There's no magic here. We created/edited the files, so can you. It's just a file.

Inventor for example has a default file under the 3DxWinCore/Cfg dir (Inventor.xml).
If you open that file, you will see many "ButtonBanks". One is marked as such:

Code: Select all

<ButtonBank Default="true">
This is the one that is used if there is nothing better. It sounds like you want to change:

Code: Select all

        <Button>
          <Input>
            <ActionID>V3DK_MENU_1</ActionID>
          </Input>
          <Output>
            <ActionID>RadialMenu_MenuRM12</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>V3DK_MENU_2</ActionID>
          </Input>
          <Output>
            <ActionID>RadialMenu_MenuRM13</ActionID>
          </Output>
        </Button>
to

Code: Select all

        <Button>
          <Input>
            <ActionID>V3DK_MENU_1</ActionID>
          </Input>
          <Output>
            <ActionID>KB_Esc</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>V3DK_MENU_2</ActionID>
          </Input>
          <Output>
            <ActionID>KB_Ctrl</ActionID>
          </Output>
        </Button>
You can change that file if you have write access to it (it will get overwritten if you update your 3DxWare).
Or you can put it in your user (%appdata%) file. That's a bit more work, which I won't litter this post with unless we need to.
These are just files. But XML syntax errors are easy to make. You may want to use an editor that will point out errors.
heyheytommyj
Posts: 4
Joined: Tue May 21, 2019 11:11 am

Re: Change Default Button Function

Post by heyheytommyj »

jwick
Thank you! This is exactly what I was looking for! I was hoping there was something in the GUI that I was overlooking, but I'm happy enough to work around it.

I haven't made the change yet, but I'm excited to try. I'll let you know how it works out.

Tom
GBek
Posts: 3
Joined: Fri Jul 01, 2022 1:08 am

Re: Change Default Button Function

Post by GBek »

I'm not sure if this will work for you or stay working after updates or anything but the following worked for me.

I wanted every application that I did not edit settings for to use the left button of my spacemouse compact as a normal left mouse button.

I opened global.xml inside the cfg folder (this is inside the 3dconnexion folder inside program files)

Then use Ctrl + F to find

Code: Select all

<ID>ID_Standard_3D_Mouse</ID>
The above may not be your device, check the rest of the file

Then I rewrote this device section to:

Code: Select all

<Device>
      <ID>ID_Standard_3D_Mouse</ID>
      <Name>Standard 3D Mouse</Name>
	  
	  <ButtonBank Default="true">
        <Name>STR_DEFAULT_BUTTONBANK</Name>
        <ID>Default</ID>
        <Button>
          <Input>
            <ActionID>HIDButton_1</ActionID>
          </Input>
          <Output>
            <ActionID>HIDMouse_Left</ActionID>
          </Output>
        </Button>
      </ButtonBank>
	  
      <Settings>
        <OnScreenDisplay>
		  <Enabled>true</Enabled>
		  <AlwaysOn>false</AlwaysOn>
		</OnScreenDisplay>
      </Settings>
    </Device>
And it worked..

Again, don't know if this keeps working but I'm happy for now

If you want different settings, edit your preffered settings in the GUI for some application. Open the application specific XML and look for your own changes. Copy these changes to the global.xml. I've not tried this but I imagine this is how it works..
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Change Default Button Function

Post by jwick »

Post Reply