Email is still bouncing from gmail.
I didn't get your PM. It's "on hold", whatever that means.
In any case, my email was just to ask you to email your cfg files to me. It's easier than trying to post files on the forum.
Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
Moderator: Moderators
-
- Posts: 36
- Joined: Sat May 23, 2020 8:31 pm
Re: Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
It seems the forces at large are hard at work , my PM was just an alternative email I wanted to pass to you.
If all you need are the config files, they are relatively brief and I don't mind sharing them on this thread, I don't think there is anything on there that is sensitive to my privacy.
There are 3 files in /appData/, global and UserInfo seem to get created when I enable logging via task tray:
Code: Select all
C:\Users\user1\AppData\Roaming\3Dconnexion\3DxWare\Cfg\jet.xml
C:\Users\user1\AppData\Roaming\3Dconnexion\3DxWare\Cfg\Global.xml
C:\Users\user1\AppData\Roaming\3Dconnexion\3DxWare\Cfg\UserInfo.xml
Code: Select all
<?xml version="1.0" encoding="UTF-8"?><AppCfg Default="false" xmlns="" CfgFormatVersion="1.3" ThisFileVersion="1.8">
<CfgProperties>
<ID>ID_STR_JET</ID>
<Name>STR_JET</Name>
<InheritsFromID>ID_STR_JET</InheritsFromID>
<Access>
<AllowInheritance>true</AllowInheritance>
<Hidden>false</Hidden>
<Ignore>false</Ignore>
</Access>
</CfgProperties>
<AppInfo>
<Signature>
<Name>STR_JET</Name>
</Signature>
<Options/>
</AppInfo>
<AuthorInfo>
<DriverVersion>17.8.20.20889</DriverVersion>
<LastChange>
<Tool>3DxService.exe</Tool>
<Version>17.8.20.20889</Version>
<Date>2024:5:5:3:18:56:55:331</Date>
<User>5EA9AEC9-F4DD-4226-BAD5-46F3F84CCDAC</User>
</LastChange>
<Created>
<Tool>3DxService.exe</Tool>
<Version>17.8.21.20868</Version>
<Date>2024:4:3:17:7:43:52:955</Date>
<User>ADB714F4-85D1-4915-8A36-C6796D456743</User>
</Created>
</AuthorInfo>
<ButtonActions>
<!-[list]Axis/ApplicationBank operations -->[/list]
<ButtonAction Type="AxisBank">
<ID>AxisBank_ShiftToJoystick</ID>
<Name>Shift to Joystick</Name>
<Action>PushPop</Action>
<BankID>JoystickBank</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
<ButtonAction Type="ApplicationBank">
<ID>ApplicationBank_ShiftLockToJoystick</ID>
<Name>ShiftLock to Joystick</Name>
<Action>Push</Action>
<BankID>JoystickBank</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
<ButtonAction Type="ApplicationBank">
<ID>ApplicationBank_Pop</ID>
<Name>Pop Back</Name>
<Action>Pop</Action>
<BankID>Default</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
</ButtonActions>
<Devices>
<Device>
<ID>ID_Standard_3D_Mouse</ID>
<Name>Standard 3D Mouse</Name>
<AxisFilter>None</AxisFilter>
<CurrentAxisBank>Default</CurrentAxisBank>
<AxisBank Default="true">
<ID>JoystickBank</ID>
<Name>JoystickBank</Name>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_X</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_X</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Y</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Y</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Z</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Z</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Rx</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Ry</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rz</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Rz</ActionID>
</Output>
</Axis>
</AxisBank>
<ButtonBank Default="true">
<ID>Default</ID>
<Name>Default</Name>
<InheritsFromID/>
<Button>
<Input>
<ActionID>V3DK_MENU_1</ActionID>
</Input>
<Output>
<ActionID>AxisBank_ShiftToJoystick</ActionID>
</Output>
</Button>
<Button>
<Input>
<ActionID>V3DK_MENU_2</ActionID>
</Input>
<Output>
<ActionID>ApplicationBank_ShiftLockToJoystick</ActionID>
</Output>
</Button>
</ButtonBank>
<ButtonBank>
<ID>JoystickBank</ID>
<Name>JoystickBank</Name>
<InheritsFromID/>
<Button>
<Input>
<ActionID>V3DK_MENU_1</ActionID>
</Input>
<Output>
<ActionID>AxisBank_ShiftToJoystick</ActionID>
</Output>
</Button>
<Button>
<Input>
<ActionID>V3DK_MENU_2</ActionID>
</Input>
<Output>
<ActionID>ApplicationBank_Pop</ActionID>
</Output>
</Button>
</ButtonBank>
</Device>
<Device><ID>ID_ProductID_C62E</ID><AxisFilter>None</AxisFilter><CurrentAxisBank>Default</CurrentAxisBank><CurrentButtonBank></CurrentButtonBank></Device></Devices>
</AppCfg>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<Global Default="false"
xmlns="" CfgFormatVersion="1.3" ThisFileVersion="">
<CfgProperties>
<ID>ID_Global_Cfg</ID>
<Name>STR_GLOBALCFG</Name>
<InheritsFromID>ID_Global_Cfg</InheritsFromID>
</CfgProperties>
<AuthorInfo>
<DriverVersion>17.8.20.20889</DriverVersion>
<LastChange>
<Tool>3DxService.exe</Tool>
<Version>17.8.20.20889</Version>
<Date>2024:5:5:3:18:57:32:732</Date>
<User>5EA9AEC9-F4DD-4226-BAD5-46F3F84CCDAC</User>
</LastChange>
<Created>
<Tool>3DxService.exe</Tool>
<Version>17.8.20.20889</Version>
<Date>2024:5:5:3:18:55:15:285</Date>
<User>5EA9AEC9-F4DD-4226-BAD5-46F3F84CCDAC</User>
</Created>
</AuthorInfo>
<Settings>
<InstallerAutoCheckForUpdates>true</InstallerAutoCheckForUpdates>
<LastAutoCheckForUpdates>3-5-2024</LastAutoCheckForUpdates>
<LogLevel>DFFEF7</LogLevel>
</Settings>
</Global>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<UserInfo
xmlns="" FormatVersion="1.0" ThisFileVersion="1.0">
<User>
<ID>5EA9AEC9-F4DD-4226-BAD5-46F3F84CCDAC</ID>
<Name>user1</Name>
</User>
</UserInfo>
-
- Posts: 36
- Joined: Sat May 23, 2020 8:31 pm
Re: Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
Okay, this post is some hours after my reply above, and after some more experimenting, I got your solution from this post to work! What I did was I used the GUI to generate a Jet Demo.xml by making a modification, such as assigning a key to the right button.
One difference I noticed, is that the config generated by the GUI seemed to explicitly declare the Jet windows executable name:
I simply took that generated file and added the nodes you provided to it, such as the ButtonActions and Devices nodes, for completeness the following is the full content of the Jet Demo.xml I ended up with:
Now the config seems to get picked up, the log from Baretrail:
But there is a bug/issue in one of the ButtonActions, for these tests am using a Space Mouse Wireless.
The left button (Shift to Joystick) works as intended, holding it down causes Joystick events to start firing and 3D navigation to stop working. When the left button is released, joystick events stop working and 3D navigation resumes, its fast and snappy, perfect!
Now with the right button, which has the ButtonAction ShiftLock to Joystick. On the first press, it works as intended, the puck starts sending Joystick events, and 3D navigation on the Jet window stops working, Baretrail also shows:
On the second press of the same button, 3D navigation is back to working in the Jet window and Baretrail goes back to printing the standard lines it was printing:
The above behaviour is thus far as expected and desired. The bug occurs from this point on, pressing the right button again to switch to joystick mode does nothing, joystick events do not start firing and 3D navigation in Jet continues to work. Once this bug starts occurring, the left button (Shift to Joystick) also stops working. The only way to get things to start working again is to stop the 3dx service and restart it again.
Also, sometimes stopping and starting the 3dx service does not fix this issue, as I the Jet Demo.xml is being modified in real time, and so I have to stop, restore the backup of the Jet Demo.xml I have to /appdata/, finally start the 3dx service.
One difference I noticed, is that the config generated by the GUI seemed to explicitly declare the Jet windows executable name:
Code: Select all
<Signature>
<Name>Jet Demo</Name>
<ExecutableName>jet.exe</ExecutableName><SiOpenAppName>Jet Demo</SiOpenAppName></Signature>
<Options>
<UseSiOpenAppName>true</UseSiOpenAppName>
</Options>
</AppInfo>
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.13">
<AppInfo>
<Signature>
<Name>Jet Demo</Name>
<ExecutableName>jet.exe</ExecutableName><SiOpenAppName>Jet Demo</SiOpenAppName></Signature>
<Options>
<UseSiOpenAppName>true</UseSiOpenAppName>
</Options>
</AppInfo>
<CfgProperties>
<ID>ID_Jet Demo</ID>
<Name>Jet Demo</Name>
<InheritsFromID>ID_Default_S80_Cfg</InheritsFromID>
</CfgProperties>
<ButtonActions>
<!-[list]Axis/ApplicationBank operations -->[/list]
<ButtonAction Type="AxisBank">
<ID>AxisBank_ShiftToJoystick</ID>
<Name>Shift to Joystick</Name>
<Action>PushPop</Action>
<BankID>JoystickBank</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
<ButtonAction Type="ApplicationBank">
<ID>ApplicationBank_ShiftLockToJoystick</ID>
<Name>ShiftLock to Joystick</Name>
<Action>Push</Action>
<BankID>JoystickBank</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
<ButtonAction Type="ApplicationBank">
<ID>ApplicationBank_Pop</ID>
<Name>Pop Back</Name>
<Action>Pop</Action>
<BankID>Default</BankID>
<ApplyTo>All</ApplyTo>
</ButtonAction>
</ButtonActions>
<Devices>
<Device>
<ID>ID_Standard_3D_Mouse</ID>
<Name>Standard 3D Mouse</Name>
<AxisFilter>None</AxisFilter>
<CurrentAxisBank>Default</CurrentAxisBank>
<AxisBank Default="true">
<ID>JoystickBank</ID>
<Name>JoystickBank</Name>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_X</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_X</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Y</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Y</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Z</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Z</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Rx</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Ry</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Ry</ActionID>
</Output>
</Axis>
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rz</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDJoystick_Rz</ActionID>
</Output>
</Axis>
</AxisBank>
<ButtonBank Default="true">
<ID>Default</ID>
<Name>Default</Name>
<InheritsFromID/>
<Button>
<Input>
<ActionID>V3DK_MENU_1</ActionID>
</Input>
<Output>
<ActionID>AxisBank_ShiftToJoystick</ActionID>
</Output>
</Button>
<Button>
<Input>
<ActionID>V3DK_MENU_2</ActionID>
</Input>
<Output>
<ActionID>ApplicationBank_ShiftLockToJoystick</ActionID>
</Output>
</Button>
</ButtonBank>
<ButtonBank>
<ID>JoystickBank</ID>
<Name>JoystickBank</Name>
<InheritsFromID/>
<Button>
<Input>
<ActionID>V3DK_MENU_1</ActionID>
</Input>
<Output>
<ActionID>AxisBank_ShiftToJoystick</ActionID>
</Output>
</Button>
<Button>
<Input>
<ActionID>V3DK_MENU_2</ActionID>
</Input>
<Output>
<ActionID>ApplicationBank_Pop</ActionID>
</Output>
</Button>
</ButtonBank>
</Device>
<Device><ID>ID_ProductID_C62E</ID><AxisFilter>None</AxisFilter><CurrentAxisBank>Default</CurrentAxisBank><CurrentButtonBank></CurrentButtonBank></Device></Devices>
<AuthorInfo>
<DriverVersion>17.8.20.20889</DriverVersion>
<LastChange>
<Tool>3DxService.exe</Tool>
<Version>17.8.20.20889</Version>
<Date>2024:5:5:3:21:16:46:700</Date>
<User>61690358-47CF-430A-AB32-03F9A94F162E</User>
</LastChange>
<Created><Tool>3DxService.exe</Tool><Version>17.8.20.20889</Version><Date>2024:5:5:3:21:16:42:76</Date><User>61690358-47CF-430A-AB32-03F9A94F162E</User></Created></AuthorInfo>
</AppCfg>
Code: Select all
...
00000400 3/5/2024 22:41:3.871: CreateCfgChain: CfgChain is
ID=ID_Global_Cfg FileName=C:\Users\user1\AppData\Roaming\3Dconnexion\3DxWare\Cfg\Global.xml FileExists=true InheritsFromID=ID_Global_Cfg
ID=ID_Global_Cfg FileName=C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\Global.xml FileExists=true InheritsFromID=
ID=ID_EnUS_LocalizationTables FileName=C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\en-US.xml FileExists=true InheritsFromID=
ID=ID_Jet Demo FileName=C:\Users\user1\AppData\Roaming\3Dconnexion\3DxWare\Cfg\Jet Demo.xml FileExists=true InheritsFromID=ID_Default_S80_Cfg
ID=ID_Default_S80_Cfg FileName=C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\AppDefCfg_S80.xml FileExists=true InheritsFromID=ID_Default_Cfg
ID=ID_Default_Cfg FileName=C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\AppCfg.xml FileExists=true InheritsFromID=ID_Base_Cfg
ID=ID_Base_Cfg FileName=C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\Base.xml FileExists=true InheritsFromID=
...
The left button (Shift to Joystick) works as intended, holding it down causes Joystick events to start firing and 3D navigation to stop working. When the left button is released, joystick events stop working and 3D navigation resumes, its fast and snappy, perfect!
Now with the right button, which has the ButtonAction ShiftLock to Joystick. On the first press, it works as intended, the puck starts sending Joystick events, and 3D navigation on the Jet window stops working, Baretrail also shows:
Code: Select all
...
00000020 3/5/2024 22:41:4.219: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-55, Y=4, Z=0, RX=14, RY=127, RZ=-46, throttle=0, hat=0x0, force=0
00000020 3/5/2024 22:41:4.234: KMJTrans:UdTransSendEvent: KMJEvent.type=CFG_KMJ_JOYSTICK_AXIS, origActionID=HIDMultiAxis_X, origValue=-65
00000020 3/5/2024 22:41:4.234: KMJTrans:UdTransSendEvent: KMJEvent.type=CFG_KMJ_JOYSTICK_AXIS, origActionID=HIDMultiAxis_Y, origValue=12
00000020 3/5/2024 22:41:4.234: KMJTrans:UdTransSendEvent: KMJEvent.type=CFG_KMJ_JOYSTICK_AXIS, origActionID=HIDMultiAxis_Rx, origValue=23
00000020 3/5/2024 22:41:4.234: KMJTrans:UdTransSendEvent: KMJEvent.type=CFG_KMJ_JOYSTICK_AXIS, origActionID=HIDMultiAxis_Ry, origValue=243
00000020 3/5/2024 22:41:4.234: KMJTrans:UdTransSendEvent: KMJEvent.type=CFG_KMJ_JOYSTICK_AXIS, origActionID=HIDMultiAxis_Rz, origValue=-55
00000020 3/5/2024 22:41:4.234: SendJoystickEvent: Joystick: buttons=0x0, status=0x0, X=-65, Y=12, Z=0, RX=23, RY=127, RZ=-55, throttle=0, hat=0x0, force=0
...
Code: Select all
...
00000004 3/5/2024 22:50:33.581: Device: \\?\HID#VID_256F&PID_C62F#9&83445F7&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}: EPS mean=62.504787, standardDeviation=0.049971
00000004 3/5/2024 22:50:35.325: Device: \\?\HID#VID_256F&PID_C62F#9&83445F7&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}: EPS mean=61.793530, standardDeviation=4.660031
...
00000040 3/5/2024 22:50:43.574: AppSignature::Equals: this->ExeName: (jet.exe/PID=29812/Focus=0xed2c9a/Cursor=0xed2c9a/<WindowClassName>Jet Demo</WindowClassName>) does not equal otherSig->ExeName: (baretail.exe/PID=20612/Focus=0xa40e1e/Cursor=0xa40e1e/<WindowClassName>TBEGUIFileViewer</WindowClassName>)
00000040 3/5/2024 22:50:43.575: CheckForChangeThread:CheckForFocusAppSignatureChange: App changed from jet.exe/PID=29812/Focus=0xed2c9a/Cursor=0xed2c9a to baretail.exe/PID=20612/Focus=0xa40e1e/Cursor=0xa40e1e
00000040 3/5/2024 22:50:43.575: CheckForChange.cpp:CheckForChangeMethod: lastApp is jet.exe/PID=29812/Focus=0xed2c9a/Cursor=0xed2c9a newApp is baretail.exe/PID=20612/Focus=0xa40e1e/Cursor=0xa40e1e
00000040 3/5/2024 22:50:43.575: AppSignature::Equals: this->ExeName: (jet.exe/PID=29812/Focus=0xed2c9a/Cursor=0xed2c9a/<WindowClassName>Jet Demo</WindowClassName>) does not equal otherSig->ExeName: (baretail.exe/PID=20612/Focus=0xa40e1e/Cursor=0xa40e1e/<WindowClassName>TBEGUIFileViewer</WindowClassName>)
00000040 3/5/2024 22:50:43.590: UpdateTheDisplay: SpaceMouse Wireless: display.state.bEnable=1
00000004 3/5/2024 22:50:43.593: DriverState: Using Battery 14 0 for \\?\HID#VID_256F&PID_C62F#9&83445F7&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
00000004 3/5/2024 22:50:43.597: HIDDev.ProcessInputReport: Battery Level Packet: 14 0 from \\?\HID#VID_256F&PID_C62F#9&83445F7&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
...
Also, sometimes stopping and starting the 3dx service does not fix this issue, as I the Jet Demo.xml is being modified in real time, and so I have to stop, restore the backup of the Jet Demo.xml I have to /appdata/, finally start the 3dx service.
Re: Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
The ShiftLock problem appears to be a bug.
That's two you have found recently. You should get an honorary QA position.
It appears that all that works ATM is the momentary switch, not a "ShiftLock" button.
Thanks for finding the problem.
That's two you have found recently. You should get an honorary QA position.
It appears that all that works ATM is the momentary switch, not a "ShiftLock" button.
Thanks for finding the problem.
-
- Posts: 36
- Joined: Sat May 23, 2020 8:31 pm
Re: Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
Hehe that made my day lol, I will make do the with monetary switch and keep the other one around anyways, I bet it will be working one day. Glad to know it was not on my end
Cheers for the help!
Re: Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
The problem with the "ShiftLock to Joystick" and "Pop Back" buttons was a cfg problem.
The Joystick AxisBank should not have the Default="true" attribute. Remove that attribute.
It should look like this:
The Joystick AxisBank should not have the Default="true" attribute. Remove that attribute.
It should look like this:
Code: Select all
<AxisBank>
<ID>JoystickBank</ID>
<Name>JoystickBank</Name>
<Axis>
-
- Posts: 36
- Joined: Sat May 23, 2020 8:31 pm
Re: Help with assigning a hotkey such as win+13 or ctrl+f13 to one of the axis please
Neet! I will test this out as soon as I can. Thanks!