Release Notes

< Back

– You don’t have to uninstall your current version if you would like to try a newer version. Many versions can co-exist on your PC without issue.
– Remember to backup your profiles before installing a new version, then you can import those profiles into the new version. January 22, 2019
IMPORTANT – Make sure you export your profiles as .cmj files from your earlier version of ControlMyJoystick. In more recent versions, this was done automatically on shutdown. You should find them at: C:\Users\YourName\Documents\ControlMyJoystick. You will need to import these into ControlMyJoystick.

Note: This is a free upgrade. Your 4.x existing product key will work fine on this version.
Note: Update your 3DxWare10 version to 10.5.5 or higher.

This is a fairly large code rewrite. The GUI was been heavily tweaked and the method of storing profiles has changed from a database to JSON files. This will make it easier to maintain and add new features in the future. If you have exported your existing profiles to .cmj files, you can go to the new version’s Profile menu/import and import them.

– Several tutorial profiles have been included. Yes. Finally.
– Controller button names are now shown in more readable form (‘Fit’ instead of ‘VK_FIT’).
– The triggers and script grids have been moved to tabs.

– Changed the UI to a tabbed interface for easier navigation and expandibility in the future.
– Changed the Threads grid to ‘Running Macros’ and included it in the new Log tab.
– Logs can now be auto-backed up to the PublicDocuments/ControlMyJoystick/Logs folder. This is enabled by default.
– 3DXWare – The axis indicator gauges now show the raw axis position data on the top, and the curve-adjusted position data on the bottom. This allows you to see the effects of curves. By default, curves are flat so you won’t see a difference between raw and curved positions until you modify the curve.
– 3DXWare – Curves now have an additional 4 controlpoints for better granularity, for a total of 21 (10 on either side of center).
– 3DXWare – Curve editor has been replace with a much better UI.
– 3DXWare – Curve editor now has the digital controls on the editor form instead of spawning a separate form.
– 3DXWare – You can now create a new default curve group.
– There is now a News tab that will show any new ControlMyJoystick news such as new versions, etc. This checks for new news once every 30 days.

– Added the ability to include notes. This can be used to explain how to set up the game to use the profile.
– Profiles now are stored as .cmjson files which are different format from the previous .cmj files. Previous versions of ControlMyJoystick used a Firebird database to store profiles, but this has been removed and all profiles are now stored in JSON format in the PublicDocuments/ControlMyJoystick/Profiles folder. This has resulted in slightly faster performance and less code complexity.
– You can now launch Windows Explorer to view the profile folder.
– Profile backups on shutdown are enabled by default and stored in the PublicDocuments/ControlMyJoystick/Profiles/Backup folder.

– The triggers are now displayed in a more readable form.
– You can now export the trigger summary as .csv so that you can print out reference cards etc in an external app (like excel).

– The script command lines are now displayed in a more readable form.
– You can now add a “Comment” script item for documenting your script.
– You can now add a “Change Profile” script item for making another profile active. This allows you to break your macros, joystick buttons and curve settings across more than one profile for the same game. So you could have ‘GameName – Flight Mode’ and ‘GameName – FPS Mode’ or something like that.
– Bugfix: Syncronous Macro’s now work.
– You can now use as many nested and sub-nested syncronous and non-syncronous macros as you want. November 11 2018 (current release)
Note: Update your 3DxWare10 version to 10.5.5 or higher.
– Renamed the Output menu item to Joystick and submenu items for binding Joystick driver axis and buttons. You need to ensure that you have enabled profile targeting and set a target for the current profile. This is an alternate method to the microphone method of binding, which you can still do if you want to.
– Tweaked the UI in the left sidebar to make it easier to manage profiles.
– Added Tap sensitivity and min and max time between taps to the DxWare configuration screen.
– Added a app shutdown progress indicator to let you know to wait, since shutting down speech recognition can take a while to uninitialize.
– An automatic app shutdown now occurs if you change the settings in the voice configuration dialog. You will need to restart the app. This is done to ensure proper handling of the speech recognition engine.
– Reduced the delay that could occur when switching between profiles while voice is enabled.
– Fixed a ‘Device cannot be opened’ error that some users encountered.
– You can now disable the DxWare setup commands via checkbox in the voice tab. Disabling the setup commands when they are no longer needed will increase the voice recognition accuracy and speed.
– Fixed the Joystick button Test menu item so that it now actually sends the simulated joystick button press to the driver.
– Added detailed error logging for 3DxWare. March 1 2018
Note: Update your 3DxWare10 version to 10.5.5 or higher.
– Fixed bug where you would get a ‘Error reading ttcSAPI541.Microphones.Strings’ error.
– Fixed bug where digital joystick character assigments would not be imported correctly.
– Fixed bug where the digital joystick would emit a character stream immediately after switching profiles.
– Fixed bug where the user interface would be scaled poorly on high-dpi monitors with Windows scaling greater than 100%.
– Removed the x0.00, x1.00, x3.00 labels from the curve editor.
– Tweaked the theme setup window to make it easier to browse the available themes.
– Removed the configurable user interface scaling options. It now scales automatically.
– Updated to the latest code-signing certificate. Jan 11, 2018
Note: Update your 3DxWare10 version to 10.5.4 or higher.
– Profiles are now automatically exported to the MyDocuments/ControlMyJoystick upon app exit. The profile filenames do not have a timestamp, so this is not a full history of changes to the profile, but rather a snapshot of the most recent changes.
– Fixed crash that occurred when you double-clicked on the application close button ‘X’ in titlebar to shutdown the app.
– Added a Demo mode for Steam releases. Steam Demo’s are restricted to a maximum of two macros per profile and the profile import function is disabled. Dec 15, 2017
Note: Update your 3DxWare10 version to 10.5.4 or higher.
– Updated the ControlMyJoystick.xml that is installed to reflect changes in 3DxWare 10.5.4.
– Fixed bug that prevented you from having more than one left-panel open at the same time.
– 3DxWare is now enabled by default. If no controller is found the app runs normally. Dec 4, 2017  (Current Release)
– Fixed bug that could give a ‘cannot find drive e:’ error on startup on some computers.
– Now when the app starts the ui no longer briefly flickers white.
– Now when you change the UI scaling in the view menu you will need to restart ControlMyJoystick for the changes to take effect.
– Changed name of app to ControlMyJoystick from Testerx so that it is displayed correctly in 3dconnexion utilities. Nov 25, 2017
– Fixed a bug that would give error ‘Device cannot be identified’ on app startup. Nov 22, 2017
– Added additional bug reporting functions so that you can email an automatically generated bug report to us for troubleshooting purposes.
– Changed the menu item Help/Online Manual to Help/Knowledge Base so that it points to the new ControlMyJoystick website.
– Fixed hang that occurred when application is set to stay on top and you go to the help menu and un-register the product key. Aug 24 2017
– Changed voice threshold default from 92 to 70 to allow better recognition for non-english languages.

– The voice command list is now automatically updated when you add a voice trigger.
– Added the W and w key to the Editing Digital axis negative and positive key dropdownlists.
– Reduced delay encountered when switching to a different profile with voice activated. July 17 2017
– Added TCP/IP Triggers.  This allows you to connect to ControlMyJoystick with a TCP/IP app and receive a list of TCP/IP triggers for the selected profile.  You can then send commands back to fire the triggers.

– Added a TCP/IP remote utility that can be launched from the tools menu.  It connects to your TCP/IP trigger server and displays the triggers as buttons.  When you click on one of those buttons, the trigger is fired in ControlMyJoystick.
– Fixed a bug where the registration splash screen would remain hidden behind the main screen if stay on top was enabled and the app was still in evaluation mode.
– You can now create a folder from the export profile dialog. Jun 30 2017
– The full app version is now displayed on the titlebar.

– Exporting and backing up profiles now checks whether the save-to path is valid and tries to re-create the directory if it is missing.
– Fixed a a bug where an exported profile could cause the script to be saved in the wrong sequence.
– You can now duplicate a macro along with it’s triggers and scripts.
– You can now automatically switch to the game when sending control inputs to it.  This allows you to run a game in windowed mode and when necessary, use another app (browser, email etc).  When you execute a macro or move the 3Dconnexion controller, the target window will be made active before the commands are sent to the game.  This eliminates the need to click on the game again before sending ControlMyJoystick commands and axis data to the game.  It’s great if you need to multi-task on multiple monitors when gaming.  In the profile menu, select Edit Target and select the game window title in the list.  You can enable targeting for all profiles by checking the ‘Enable Targets’ in the profile menu.
– You can now mute voice commands with a controller keypress.  This is useful if you don’t use a voice prefix and don’t want a regular conversation to accidentally trigger a macro.  You can configure this in the Input/Voice menu.  When muted, a large red ‘Voice Muted’ banner is displayed above the macro list.
– The log now only shows the most recent 500 lines. Jun 29 2017
– Fixed a bug that happened when you clicked on the Macro run button, which would not run the macro.

– Added a Trigger Summary panel on the sidebar which shows a quick reference command reference for your macros.
– You can now export one or more profiles to a .cmj file format.  Use this as a way to back up or share your profiles with other users.
– You can now import one or more .cmj files.  Use this as a way to restore backed-up or shared profiles.
– You now set up an automated profile backup which occurs when shutting down the app.  Check out Backup under the profiles menu.
– Added a way to select a microphone in the voice configuration screen.
– You can now send special characters in digital joystick mode like right arrow keys etc. Jun 18 2017
– Fixed a bug where the digital joystick TX, TY and TZ axis would not respond to inputs.

– Fixed a bug where the digital joystick would not respond on the RY axis if the RX digital was not enabled.
– The full version and build number is now shown on the app titlebar.
– The full version is now stored along with the profile in the database for a future import/export function. June 8, 2017
– Fixed a bug where sometimes you could not clear the WASD configuration. June 7, 2017
– Added WASD support for 3Dconnexion controllers.  This allows you to use the controller as a digital joystick.  Configure it by clicking the new ‘Digital…’ button in the curve editor. June 5, 2017
– Fixed bug that would cause a slowdown when adding new macros or deleting existing macros. The delay was caused by the resetting of the speech engine. June 4, 2017
– Fixed bug that caused the pause script command not to work if the computer has been up for more than 15 days.

– Fixed bug that caused the voice config screen disable system commands and test mode checkbox settings to not be remembered properly. June 3, 2017
– Fixed bug that cause some script commands to be enabled when a macro did not exist.

– Added a resizer area on the lower-right hand corner of the screen to make screen resizing easier.
– Enabled the snap-to functionality of the main window so that it will snap to the monitor edge.
– Fixed bug that caused the joystick panel axis positions to not update unless the 3DxWare panel was also open.

4.0 – Released May 20, 2017
This upgrade adds support for the SpaceMouse Pro and Enterprise, use of controller buttons and UDP triggers, and the sending of mouse and keyboard commands via script, along with many new script commands.

– You can now scale the user interface from 100%, 125% and 150% in the view menu.
– You can now change the theme brightness.
– You can now set the the app to stay on top.
– You can now launch a magnifier to be able to see small UI details.
– Replaced the tab-based UI with a sidebar-based one.

– Be sure to update to the most recent version of 3DxWare.
– You can now use the SpaceMouse Pro and Enterprise in addition to the previously supported Navigator.
– You can now map any button on the controllers as a trigger.
– You can now enable smoothing to reduce the jitters caused by your hand.
– You can now specify a curve preset for each axis.
– You can now switch between curve groups with voice commands and controller buttons.

– You can now duplicate an existing profile.
– You can now see which macros are running and can terminate one or all of them.
– You can now use voice, controller button up/down/updown states and remote UDP commands as triggers.
– You can now do the following script commands:
– Joystick Button down/up/downup
– Keyboard button down/up/downup
– Mouse button down/up/downup
– Pause (for x milliseconds)
– Play Sound (.wav files)
– Set Axis Curve Group (landing, combat etc)
– Loops (for x iterations)
– Launch other macros (synchronous and asynchronous)
– Run a file (a batch file perhaps)
– Send data via UDP (to another app)
– Stop running all macros
– Move the mouse cursor

– Added app for testing the SEND_UDP script command.
– Added app for testing the UDP trigger.

Version Released January 3, 2015
Bug: Fonts in dialogs for inputting names, values are too small.  *Fixed.

Request: Now enables/disables the axis labels in the driver status panel when translation/rotation is enabled/disabled.
Request: Added voice command to reset buttons only.
Request: You can now have more than one axis mode configurations, each with it’s own voice command. So you can now have a set of curves for landing, and another set for regular flight, etc.
Request: You can now copy a curve to another curve.
Request: You can now navigate to all six axis within the axis screen, so you don’t need to close the screen before selecting a different axis.
Bug: Sometimes buttons remain pressed, as shown on the driver status display. *Fixed.
Request: Removed the user interface buttons from the profiles and button lists. You can now access those functions via right-click menu.
Request: You can no longer delete the last profile.  If you do, it will create a default profile.

Version Released December 23, 2014
BUG: Add(button) to Script button not working.  Fixed.  This has been removed.  You can now add the currently selected button to the script with the ‘Add’ button in the script panel.

BUG: Can’t add a button to an existing script.  Fixed . You can now add the currently selected button to the script with the ‘Add’ button in the script panel.
BUG: Language accents not recognized by speech recognition. Fixed.
BUG: BUTTON_UP and BUTTON_DOWN commands toggle the button state, but they should not. Fixed.
REQUEST: Need a way to temporarily reduce or increase axis sensitivity.   Fixed: Added a ‘Axis Sensitivity Low’ voice command to set sensitivity at 30% of the curve.   Added a ‘Axis Sensitivity Normal’ voice command to set sensitivity at 100% of the curve.       Added a ‘Axis Sensitivity High’ voice command to set sensitivity at 200%% of the curve.
REQUEST: Add script command to play mp3 or wav.  Fixed.  You can now add a sound (mp3 or wav) as a script command with the ‘Add’ button in the script panel.
REQUEST: Need to be able to toggle a button.  Fixed.  A new script button state BUTTON_TOGGLE has been added.  Just double-click on the button script command to change the state.

Version Released December 17, 2014
This is the initial public release of ControlMyJoystick.

Some tips:
1) After startup, go to the setup tab and select a suitable skin.
2) Go to the help tab and read the help.
3) Study the included profile for Elite: Dangerous.
4) Watch the tutorial videos on the website.
Then make your own profiles, and have fun!

Last Updated On January 22, 2019