Scrolling Behavior

Questions and answers about 3Dconnexion devices on Windows.

Moderator: Moderators

Post Reply
madmark
Posts: 12
Joined: Fri Sep 16, 2011 9:31 am
Location: PNW
Contact:

Scrolling Behavior

Post by madmark » Thu Apr 18, 2019 11:34 am

I am trying to get the scrolling (and hopefully zoom) behavior consistent across applications.

SpaceMouse Pro
DriverVersion 17.5.11.15451
3DxSmartUI.exe 1.2.18291.15447

What I am wanting is for vertical and horizontal scrolling to be controlled by X and Y, NOT RX and RY.
One example is Notepad++,
I have no idea how to change scrolling movements along the axis from around it.

Searching through the forums has been fruitless, and have found references from the moderators that they are the authoritative reference.

Yes, unsupported software. No, the authors of the software have no interest in adding support for 3dconnexion devices.

What I need is a document that describes all the .xml config file settings.
Is there such documentation? If not, why not?

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

Re: Scrolling Behavior

Post by jwick » Fri Apr 19, 2019 1:42 am

Notepad++ not having an app-specific cfg file, will use the default cfg in AppDefCfg_KMJ.xml.
You can change that if you have write access to Program Files/.../3DxWinCore64/Cfg.
If you change it there, every application that uses this default will be changed.

In that file you will see that the HIDMultiAxis_Rx axis is assigned to Output HIDMouse_Wheel. And the HIDMultiAxis_Y is assigned to HIDMultiAxis_Y, which notepad++, of course, does not understand.

Code: Select all

	<Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMouse_Wheel</ActionID>
            <Scale>1.00</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
If you want the HIDMultiAxis_Y (push pull) to output HIDMouse_Wheel, change the HIDMultiAxis_Y Output assignment. You may also want to change the HIDMultiAxis_Rx to HIDMultiAxis_Rx, which, in effect, disables it.

I never have been able to get Horizontal Scroll to work in a generic way. We do it with an app-specific mechanism where we have been able to make it work. The assignments for those are in the app-specific files (e.g., Excel.xml).

madmark
Posts: 12
Joined: Fri Sep 16, 2011 9:31 am
Location: PNW
Contact:

Re: Scrolling Behavior

Post by madmark » Tue Sep 10, 2019 9:47 am

Thanks, it seems to work other places.
I tried include your suggestions and modifying the notepad++.xml that is created by 3DxWare when advanced settings are changed (pan, zoom, rotation toggles) which is saved in the user config directory.

This works great in other applications (well, not powerpoint).
The h-scroll and zoom works great in FireFox using the same HIDMouse_Wheel actions with Shift and Control modifiers.

As far as I can tell, 3DxWare ignores the settings for notepad++.exe and appears to create a temporary one that has the same values prior to changes I attempted in advanced settings. Even if I do not change anything in notepad++.xml.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<AppCfg Default="false" xmlns="" CfgFormatVersion="1.2" ThisFileVersion="1.10">
  <AppInfo>
    <Signature>
      <Name>Notepad++ : a free (GNU) source code editor</Name>
      <ExecutableName>notepad++.exe</ExecutableName>
    </Signature>
    <Options />
  </AppInfo>
  <CfgProperties>
    <InheritsFrom>STR_DEFAULT_KMJ</InheritsFrom>
  </CfgProperties>
  <Settings>
    <OverallScale>1.42</OverallScale>
  </Settings>
  <Devices>
    <Device>
      <Name>Standard 3D Mouse</Name>
      <VendorID>0</VendorID>
      <ProductID>0</ProductID>
      <InheritsFrom>Standard 3D Mouse</InheritsFrom>
      <AxisBank>
        <Name>Default</Name>
        <ID>Default</ID>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_X</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMouse_Wheel</ActionID>
            <Modifiers>
              <Modifier>Shift</Modifier>
            </Modifiers>
            <Scale>5.00</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Y</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMouse_Wheel</ActionID>
            <Scale>3.70</Scale>
            <Reversed>True</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Z</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMouse_Wheel</ActionID>
            <Modifiers>
              <Modifier>Control</Modifier>
            </Modifiers>
            <Scale>1.00</Scale>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Ry</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Rz</ActionID>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rz</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Ry</ActionID>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
      </AxisBank>
      <AxisFilter>Dominant</AxisFilter>
    </Device>
  </Devices>
  <AuthorInfo>
    <DriverVersion>17.5.11.15451</DriverVersion>
    <LastChange>
      <Tool>3DxSmartUI.exe</Tool>
      <Version>1.2.18291.15447</Version>
      <Date>6/4/2019 4:04:41 PM UTC</Date>
      <User>av284c</User>
    </LastChange>
  </AuthorInfo>
</AppCfg>

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

Re: Scrolling Behavior

Post by jwick » Wed Sep 11, 2019 1:14 am

There's a "implementation shortcoming" in our software that writes the cfg file for notepad++.exe.

This line is wrong:

Code: Select all

<ExecutableName>notepad++.exe</ExecutableName>
The contents are not a valid regex.

You need to change it to:

Code: Select all

<ExecutableName>notepad\+\+.exe</ExecutableName>
Then the file will get used.

It is a shortcoming specific to this exe name. We have it on our todo list.

Post Reply