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?
Scrolling Behavior
Moderator: Moderators
Re: Scrolling Behavior
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.
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).
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>
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).
Re: Scrolling Behavior
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.
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>
Re: Scrolling Behavior
There's a "implementation shortcoming" in our software that writes the cfg file for notepad++.exe.
This line is wrong:
The contents are not a valid regex.
You need to change it to:
Then the file will get used.
It is a shortcoming specific to this exe name. We have it on our todo list.
This line is wrong:
Code: Select all
<ExecutableName>notepad++.exe</ExecutableName>
You need to change it to:
Code: Select all
<ExecutableName>notepad\+\+.exe</ExecutableName>
It is a shortcoming specific to this exe name. We have it on our todo list.
Re: Scrolling Behavior
It seemed like a Notepad++ naming issue was still in effect several weeks ago, so I had a Notepad++ profile in Roaming with the filename NotepadPluPlus.xml. However, that wasn't functioning, either, so I deleted it and allowed Properties to create a new xml. I noticed that the ExecutableName tweak that jwick recommends was in C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\Notepad++.xml. However, Notepad++ on my PC wasn't responding to the controller.
I changed the InheritsFromID to ID_Default_KMJ_Cfg, and then Rx was able to emulate the mouse wheel. From there, I added the Ry = Shift+Rx code, and now have horizontal scrolling there.
Code: Select all
<CfgProperties>
<ID>ID_Notepad++</ID>
<Name>Notepad++</Name>
<InheritsFromID>Notepad++</InheritsFromID>
</CfgProperties>
Code: Select all
<CfgProperties>
<ID>ID_Notepad++</ID>
<Name>Notepad++</Name>
<InheritsFromID>ID_Default_KMJ_Cfg</InheritsFromID>
</CfgProperties>
<Devices>
<Device>
<ID>ID_Standard_3D_Mouse</ID>
<AxisBank>
<Name>Default</Name>
<ID>Default</ID>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDMouse_Wheel</ActionID>
<Modifiers>
<Modifier>Shift</Modifier>
</Modifiers>
</Output>
</Axis>
</AxisBank>
</Device>
</Devices>
Michael Hoopes
Re: Scrolling Behavior
Just to clarify, I modified the inheritance in my Roaming Notepad++ profile -> ID_Default_KMJ_Cfg, and added the output action for Ry -> Shift+HIDMouse_Wheel.
No mods to C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\Notepad++.xml.
No mods to C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\Notepad++.xml.
Michael Hoopes
Re: Scrolling Behavior
Hi Michael,
Great addition!
I'm stealing that from you for our next release.
I gave you credit though.
Jim
Great addition!
I'm stealing that from you for our next release.
I gave you credit though.
Jim
Re: Scrolling Behavior
Thanks! By the way, I needed to also add the HIDMouse_Wheel Action for Rx, otherwise no vertical scrolling. Here's both:
Code: Select all
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDMouse_Wheel</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDMouse_Wheel</ActionID>
<Modifiers>
<Modifier>Shift</Modifier>
</Modifiers>
</Output>
</Axis>
<Axis>
Michael Hoopes