swap middle / right mouse buttons app specific

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
tpl
Posts: 4
Joined: Tue Dec 16, 2025 6:24 am

swap middle / right mouse buttons app specific

Post by tpl »

Hello,

is there any way to make "swap middle / right mouse buttons" app specific? I already enabled the "Applications Specific Settings" but when I tick/untick "swap middle / right mouse buttons" it keeps changing for all the apps..
Attachments
2025-12-16_14h33_45.png
2025-12-16_14h33_45.png (148.96 KiB) Viewed 185 times
jwick
Moderator
Moderator
Posts: 3455
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: swap middle / right mouse buttons app specific

Post by jwick »

There is no way to do it in the GUI.
If you want to do this, you need to edit XML files. I expect it to work but I've not tested it in years.

Basically, you need to do what that GUI CheckBox does (to %AppData%/Global.xml) in each app cfg you want to change. And undo the change made to AD/Global.xml, because it will override everything else.

I can give you details if you want to go down that path.
tpl
Posts: 4
Joined: Tue Dec 16, 2025 6:24 am

Re: swap middle / right mouse buttons app specific

Post by tpl »

so I would have to enter the selected lines of the global.xml into the configs of all the other programs that I want to swap middle / right click? (As seen in the screenshots)
Attachments
2025-12-17_14h07_49.png
2025-12-17_14h07_49.png (70.85 KiB) Viewed 177 times
2025-12-17_14h07_00.png
2025-12-17_14h07_00.png (247.17 KiB) Viewed 177 times
jwick
Moderator
Moderator
Posts: 3455
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: swap middle / right mouse buttons app specific

Post by jwick »

Sort of. Some of those are not AppCfg files. Only put it in files that start with <AppCfg>.

You will need to make the <Devices> container if it doesn't exist, and add the entire <Device>...</Device> section.

Take it out of Global.xml.

Also, there may be System Settings panel options that you need to return to normal (non-swapped) state.
tpl
Posts: 4
Joined: Tue Dec 16, 2025 6:24 am

Re: swap middle / right mouse buttons app specific

Post by tpl »

Understood. I wanted to swap the mouse button functions for rhino only but this seems to be a bit overkill for just that. So I just assigned "secondary mouse function" to the button instead since this seems to be app specific and basically does what I tried to achieve, I guess? Unless there are cons to this method I am going to try using it like this for now. But I will keep your suggestion in mind. Thanks alot!
Luntyr
Posts: 1
Joined: Fri Dec 19, 2025 9:34 am

Re: swap middle / right mouse buttons app specific

Post by Luntyr »

That sounds like a good workaround! The secondary mouse function should do the trick for Rhino without the extra steps. If you run into any issues, you can always revisit the XML method later. :arrow: :)
tpl
Posts: 4
Joined: Tue Dec 16, 2025 6:24 am

Re: swap middle / right mouse buttons app specific

Post by tpl »

Hi jwick,

I might need your help after all. The method I used for rhino before would just map the standard right mouse button onto the 2nd and 3rd mouse button of the cadmouse which I didn't think of at all. So I went ahead and tried to edit the rhino xml. Now the 2nd mouse button takes the rightclick but the 3rd mousebutton does not take the middle click. This is what I did:

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<AppCfg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Default="false" CfgFormatVersion="1.3" ThisFileVersion="1.12">
  <AppInfo>
    <Signature>
      <Name>STR_RHINOCEROS_FS</Name>
      <SiOpenAppName>Rhinoceros 8</SiOpenAppName>
    </Signature>
    <Options>
      <UseSiOpenAppName>true</UseSiOpenAppName>
    </Options>
  </AppInfo>
  <CfgProperties>
    <ID>ID_STR_RHINOCEROS_FS</ID>
    <Name>STR_RHINOCEROS_FS</Name>
    <InheritsFromID>ID_STR_RHINOCEROS_FS</InheritsFromID>
  </CfgProperties>
  <Devices>
    <Device>
      <ID>ID_ProductID_C658</ID>
       <ButtonMap>
        <Button>
          <Input>
            <ActionID>HIDButton_2</ActionID>
          </Input>
          <Output>
            <ActionID>HIDButton_3</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_3</ActionID>
          </Input>
          <Output>
            <ActionID>HIDButton_2</ActionID>
          </Output>
        </Button>
      </ButtonMap>
    </Device>
  </Devices>
  <AuthorInfo>
    <DriverVersion>17.9.9.21964</DriverVersion>
    <Created>
      <Tool>3DxSmartUi</Tool>
      <Version>1.2.25332.21802</Version>
      <Date>2025:12:2:23:16:42:22:017</Date>
      <User>3EF867F5-F91C-495E-A3F8-394545164304</User>
    </Created>
    <LastChange>
      <Tool>3DxSmartUi</Tool>
      <Version>1.2.25332.21802</Version>
      <Date>2025:12:2:23:16:42:22:017</Date>
      <User>3EF867F5-F91C-495E-A3F8-394545164304</User>
    </LastChange>
  </AuthorInfo>
</AppCfg>
Could you please point out my mistake? Thanks!
Post Reply