ControllerMate Changelog

What's new in ControllerMate 4.11.1

Oct 11, 2018
  • Fixes an issue that would cause ControllerMate’s background to sometimes reset a device’s driver to its default configuration instead of using custom Driver Configuration settings.
  • Fixes an incompatibility between macOS 10.14 Mojave and some scripts that were run using ControllerMate’s AppleScript building blocks.
  • Improves the compatibility with some versions of the X-keys XKE-124 T-bar to hide the unused joystick interface.

New in ControllerMate 4.11 (Oct 11, 2018)

  • Support for Mojave Dark Mode.
  • The current user’s preferred system colors are now used more consistently in ControllerMate’s interface.
  • The Keystrokes Palette is now resizable.
  • A Backlight Intensity building block has been added to control the brightness of the X-keys XK-128 and XKE-124 T-bar backlights.
  • The Text and Keystrokes building blocks no longer activate the Output window unless they actually generate keyboard activity.

New in ControllerMate 4.10.6 (Feb 25, 2018)

  • Additional fixes for compatibility with macOS 10.13 High Sierra:
  • Adds a delay before showing the "driver not loaded" notice to prevent a window from flashing briefly on the screen if ControllerMate's driver is not immediately available upon launch.
  • Fixes a problem that caused the background helper to fail to operate after a reboot until the ControllerMate application has been launched and quit.
  • Fixes a problem that caused ControllerMate to fail to connect to its driver after it has been requested via the System Preferences application.
  • Fixes a bug that caused mouse clicks in the list of programming items to sometimes enable or disable the incorrect items.

New in ControllerMate 4.10.4 (Dec 2, 2017)

  • Includes a minor change to fix sluggish performance that could occur when viewing the Controller Information panel for certain devices.

New in ControllerMate 4.10.3 (Oct 23, 2017)

  • ControllerMate v4.10.3 provides more helpful information when its driver is not loaded while running on macOS 10.13 High Sierra. This should help users navigate the new High Sierra system extension approval process more quickly.
  • ControllerMate v4.10.3 also handles Bluetooth LE devices in the same manner as earlier Bluetooth devices. This should improve compatibility with newer Bluetooth devices.

New in ControllerMate 4.10.2 (Apr 24, 2017)

  • ControllerMate v4.10.2 improves the compatibility of keyboard-related building blocks (Keystrokes, Single Key, Text) with some applications when running on macOS 10.12 Sierra. Applications that did not respond to keyboard activity that was indicated by the system's Keyboard Viewer should now respond properly.

New in ControllerMate 4.10.1 (Mar 1, 2017)

  • Improves the compatibility of ControllerMate's background helper with macOS 10.12 Sierra. This update addresses potential differences in behavior that may occur when the helper alone is running (as compared to when the ControllerMate application is running), or differences in behavior of the helper application when it launches automatically compared to when it is stopped and then restarted manually.
  • Examples of behavior that this update addresses are building blocks that may not respond quickly to buttons, and delays between control activity and the ControllerMate outputs that they trigger.
  • This update should allow the helper to run with the same priority, and achieve the same performance, as the ControllerMate application.

New in ControllerMate 4.10.0 (Dec 13, 2016)

  • Cursor Building Blocks:
  • Restore the ability to move the cursor to a specific location on the screen, or to a location relative to the currently active window.
  • Add the ability to move the cursor to a location relative to a window with a specific title, whether it is the currently active window or not. The window must belong to the foreground application.
  • Keyboard Building Blocks:
  • Building blocks that are configured to generate “special” keys (volume up/down/mute, power, screen brightness up/down) require an update to macOS 10.12.1 or newer. These keys may not work in the original Sierra release.
  • Mouse Driver Configurations:
  • Driver configurations are no longer able to customize the behavior of a scroll wheel. There is currently no fix for this incompatibility.

New in ControllerMate 4.9.10 (May 15, 2016)

  • Adds compatibility with two new X-keys devices from P.I. Engineering:
  • X-keys XKR-32 Rack Mounted Keys.
  • X-keys XKE-124 T-bar.

New in ControllerMate 4.9.9 (Feb 21, 2016)

  • Updated the Sparkle framework to address a security vulnerability.
  • Unused ON/OFF Group names will now be automatically removed when quitting ControllerMate.
  • Fixed a potential crash that could occur when dragging a page or group into the Inspector window when configuring a Properties building block.

New in ControllerMate 4.9.8 (Sep 26, 2015)

  • ControllerMate v4.9.8 includes minor visual changes for compatibility with OS X 10.11 El Capitan.

New in ControllerMate 4.9.7 (Jun 8, 2015)

  • Added the ability to set an initial value for AppleScript (Number) and AppleScript (ON/OFF) building blocks.
  • Improved compatibility with X-keys devices that have customized USB version numbers.
  • Fixed a bug that could prevent ControllerMate’s helper from posting MIDI events through an external MIDI destination in some cases.

New in ControllerMate 4.9.5 (Mar 27, 2015)

  • Improved the ability of Programming Groups and Application building blocks to distinguish between different Java runtime instances.
  • Improved compatibility with the Contour Design ShuttlePRO v2 and ShuttleXpress. Driver Configurations may now be used to modify the mouse-like behavior of the buttons and dial.
  • Fixed a visual anomaly on Yosemite that sometimes caused the text of Page and Group names in the list of Programming Items in ControllerMate’s main window to disappear into the background.

New in ControllerMate 4.9.3 (Dec 9, 2014)

  • Fixed a bug that could cause an imported Driver Configuration for a virtual mouse to fail to control the virtual mouse’s behavior.
  • Fixed a crash that could occur when exporting programming containing a Driver Configuration.

New in ControllerMate 4.9.2 (Nov 21, 2014)

  • Improves compatibility with a device and includes a couple bug fixes:
  • Improved compatibility with the X-keys XK-128 USB Keyboard.
  • Fixed a bug that could prevent a Driver Configuration’s settings from being used when a device is unplugged then reconnected.
  • Fixed a bug that prevented new virtual MIDI outputs from being created after deleting all existing virtual outputs.

New in ControllerMate 4.9.1 (Nov 8, 2014)

  • Fixed a bug that caused some Axis, Button, and Hatswitch building block to fail to work after the system wakes from sleep.
  • Fixed a bug that prevented AppleScript building blocks from being configured with a script source file.
  • Fixed a bug that hid the controls of the X-keys Joystick Pro.
  • Fixed a bug that caused the Auto-Repeater building block to use the wrong settings after undoing and redoing a change to its settings.

New in ControllerMate 4.9.0 (Oct 18, 2014)

  • Added compatibility with Mac OS X 10.10 Yosemite.
  • Added the ON/OFF Group building block to create a related set of ON/OFF values.
  • Added the MIDI Note Group building block that responds to a set of MIDI Note messages.
  • Added the Absolute Value building block to calculate absolute values.
  • Added the URL building block to open web locations.
  • The Button Group building block can now be configured by pressing a set of buttons on a device. OFF buttons may also now be included in groups.
  • The LED building block can now be configured to turn an LED on, turn an LED off, or do nothing when the building block turns ON and OFF.
  • Improved performance when importing large amounts of programming.
  • Fixed a bug that could cause a crash if performing an Undo command immediately after importing programming.
  • Fixed a bug that could cause ControllerMate to fail to write a file when exporting programming.

New in ControllerMate 4.8.3 (Sep 6, 2014)

  • Adds compatibility with a new device and fixes a bug:
  • Compatibility with the X-keys XK-3 Switch Interface has been added.
  • Fixed a bug that could cause no file to be written when attempting to export programming.

New in ControllerMate 4.8.2 (May 30, 2014)

  • Improved compatibility with two Razer devices:
  • Orbweaver — Added compatibility with the key backlight LEDs and the Blue, Green, and Yellow LEDs. The key backlighting can be configured to blink, pulse, or turn on with a custom brightness.
  • Naga 2014 — Added compatibility with the scroll wheel, thumb grid, and logo LEDs.

New in ControllerMate 4.8.1 (Apr 14, 2014)

  • Compatibility with the X-keys XK-128 USB Keyboard has been added.
  • Compatibility with the X-keys XK-24 Plus has been added.
  • Compatibility with the X-keys XK-3 Plus has been added.
  • Compatibility with the Razer Naga 2014 has been improved.
  • Fixed a bug that could sometimes cause a crash while building a ControllerMate Profile.
  • Fixed a bug that could cause ControllerMate’s background helper to crash when the ControllerMate application is launched.

New in ControllerMate 4.8.0 (Mar 14, 2014)

  • Programming Groups and Application building blocks will now respond to Java applications (such as Minecraft).
  • The Application building block can now be configured to respond to multiple applications.
  • Dragging building blocks while holding the Option key will create duplicate blocks.
  • Driver Configurations for mice that identify themselves as keyboards will now include acceleration curve settings.
  • The idle CPU usage of ControllerMate has been reduced in certain circumstances.
  • The Palette window will now attempt to identify the non-ControllerMate driver that is being used for a device when that driver prevents a Driver Configuration from being created.
  • Fixed a bug that sometimes caused the wrong title of a group or page to appear in the Inspector window.
  • Fixed a bug that caused building blocks to lose their modifier settings when they are cut and pasted.
  • Fixed a potential crash that could occur when changing a building block's modifier settings.
  • Fixed a bug that could cause a crash when certain types of MIDI events are received while the Palette window is displaying current activity.
  • Fixed a bug that caused ControllerMate’s main window to fail to close on the first attempt when discarding changes.
  • Fixed a bug that could cause a crash when dragging building blocks along the bottom of a page.
  • Fixed a bug that caused ButtonGroup building blocks to lose their settings when loading programming written by a very old version of ControllerMate.

New in ControllerMate 4.8.0 RC 6 (Feb 19, 2014)

  • Programming Groups and Application building blocks will now respond to Java applications (such as Minecraft).
  • The Application building block can now be configured to respond to multiple applications.
  • Dragging building blocks while holding the Option key will create duplicate blocks.
  • Driver Configurations for mice that identify themselves as keyboards will now include acceleration curve settings.
  • The idle CPU usage of ControllerMate has been reduced in certain circumstances.
  • The Palette window will now attempt to identify the non-ControllerMate driver that is being used for a device when that driver prevents a Driver Configuration from being created.
  • Fixed a bug that sometimes caused the wrong title of a group or page to appear in the Inspector window.
  • Fixed a bug that caused building blocks to lose their modifier settings when they are cut and pasted.
  • Fixed a potential crash that could occur when changing a building block's modifier settings.
  • Fixed a bug that could cause a crash when certain types of MIDI events are received while the Palette window is displaying current activity.
  • Fixed a bug that caused ControllerMate’s main window to fail to close on the first attempt when discarding changes.
  • Fixed a bug that could cause a crash when dragging building blocks along the bottom of a page.
  • Fixed a bug that caused ButtonGroup building blocks to lose their settings when loading programming written by a very old version of ControllerMate.

New in ControllerMate 4.7.1 (Oct 12, 2013)

  • Compatibility with the X-keys XK-12 USB Switch Interface has been added.
  • Compatibility with the X-keys XK-68 + Jog & Shuttle has been added.
  • Compatibility with the X-keys XK-68 + Joystick has been added.
  • Fixed a bug that prevented the title of an AppleScript building block from being changed.
  • Fixed a bug that prevented the behavior of a mouse or keyboard's buttons from being reset when a Driver Configuration is disabled.

New in ControllerMate 4.7.0 (Aug 14, 2013)

  • General Changes:
  • The Accumulator building block can now be configured with a minimum value, maximum value, and optional behavior when a limit is reached.
  • The Remainder building block can now be configured to use the sign of the divisor or the sign of the dividend as the sign of the output value.
  • Finder Item building blocks that are configured to open an application will now simply launch the application instead of telling the application to open its own contents.
  • ControllerMate will no longer pause when looking for recommended applications when a Finder Item building block is selected. This is particularly helpful when applications are located on multiple hard disks.
  • Copies of building blocks that depend on the values of Modifier building blocks will retain the modifier settings of the original building blocks.
  • The performance of AppleScript building blocks that execute long-running scripts has been improved.
  • AppleScript building blocks can be configured to use a specific output value while the script is executing.
  • Added an option to Axis building blocks to ignore repeated "0" values from their associated controller. This is helpful for controllers (mice) which report the latest values of all axes when only one axis actually changes.
  • The Counter building block will now retain its initial value while its Reset input remains ON.
  • The Button Group building block can now be configured to set its output to a particular value when its associated controller is detached.
  • The menus in the Inspector window for the Beep building block organize sounds according to where they are found.
  • Clicking on a page in a location where a building block and a note overlap will cause the building block to be dragged instead of the note.
  • Whitespace is trimmed from the end of a building block's note when displaying the block's tooltip.
  • MIDI Changes:
  • The various building blocks that generate MIDI messages can now send those messages either through ControllerMate's virtual MIDI outputs, or to external destinations such as the IAC Driver.
  • The MIDI Variable Program Change Output building block has been added. This building block generates Program Change MIDI messages containing the building block's input value whenever that value changes.
  • MIDI notes are displayed using note/octave notation. A preference has been added to define the octave of Middle C. The preference affects only how the note is displayed, not the associated MIDI message.
  • ControllerMate's virtual MIDI outputs may now be disabled in the Preferences window.
  • Bug Fixes:
  • Fixed a potential lockup caused by the Mouse Button block or a virtual mouse when either is triggered by an actual mouse button. The solution is to prevent the ControllerMate application from generating certain left and right virtual mouse button activity. The background helper application will continue to generate all virtual mouse button activity in the same manner as previous versions.
  • Fixed a bug that could cause a ControllerMate crash when certain MIDI devices were attached.
  • Fixed a bug that could prevent virtual MIDI outputs from being created after upgrading from ControllerMate for X-keys.
  • Fixed a bug that would cause the Device building block to fail to update when a virtual ControllerMate MIDI Source is removed.
  • Fixed a bug where a virtual device may not work properly if a custom manufacturer name is given to the device in the Controller Info panel. The Controller Info panel should now also retain custom manufacturer names correctly.
  • The Hatswitch building block now uses its "detached" and "incorrect modifier" values in the same manner as the Axis and Button building blocks.
  • The "Unregistered" tab will no longer appear in a Driver Configuration for a virtual mouse in ControllerMate for X-keys.
  • Single Key and Keystrokes building blocks will now correctly record activity from a keyboard in ControllerMate for X-keys.
  • Fixed a bug that caused ControllerMate to lose custom settings in the Controller Information panel for some types of controls.
  • Fixed a bug in the Delta (Strobe) building block that could cause output pulses to occur after large input changes even when the block is configured to ignore large input changes.

New in ControllerMate 4.6.2 (Sep 21, 2012)

  • Added compatibility with the X-keys XK-4 Stick and XK-8 Stick from P. I. Engineering.
  • The Auto-Repeater building block has been modified to allow the interval between repeats to be greater than 30s.

New in ControllerMate 4.6.1 (Aug 20, 2012)

  • Added compatibility with the X-keys XK-60 and XK-80 from P. I. Engineering.
  • Fixed a bug that prevented the preferred note font from being changed.
  • Fixed a bag that could cause ControllerMate's memory usage to grow slowly over time.

New in ControllerMate 4.6.0 (Jul 21, 2012)

  • Adds compatibility with Mac OS X 10.8 "Mountain Lion". Both the ControllerMate application and its background helper are now 64-bit applications.

New in ControllerMate 4.5.2 (Jul 10, 2012)

  • Fixes a bug that could cause programming containing custom controls to be imported incorrectly into ControllerMate v4.5

New in ControllerMate 4.5.1 (May 26, 2012)

  • Fixed a bug that caused the Cursor building block to move the cursor to the wrong location when using a multi-monitor setup with monitors of different resolutions.
  • Fixed a bug that could cause a crash when sending negative values to a MIDIPitchWheelOutput building block.
  • Fixed a bug that caused the helper to stop responding when a device that sends a high volume of MIDI messages was attached.
  • Fixed a bug that could cause programming that was exported with an older version of ControllerMate to be imported incorrectly into ControllerMate v4.5.
  • Added compatibility with the X-keys Pi3 Matrix Encoder Board from P. I. Engineering.

New in ControllerMate 4.5.0 (Apr 21, 2012)

  • The main Editor window has been redesigned to consolidate programming items
  • New building blocks that generate and respond to MIDI messages have been added
  • Axis, Button, and Hatswitch building blocks can now be reconfigured to respond to different controls
  • Several types of building blocks have the ability to configure themselves by capturing activity from a device or keyboard
  • An "Activity" panel that creates pre-configured building blocks for currently active controls has been added to the Palette window
  • Groups have new options to automatically activate and deactivate programming
  • Multiple building blocks of the same type can be modified at the same time
  • Importing and exporting of programming has been simplified
  • Automatic update checking
  • The built-in help pages have been expanded and updated

New in ControllerMate 4.4.8 (Apr 16, 2012)

  • [ NEW ] Added compatibility with the X-keys XK-3 USB Foot Pedals from P.I. Engineering.
  • [ IMPROVED ] The amount of time needed to startup ControllerMate and its helper has been reduced when certain devices are attached.

New in ControllerMate 4.4.7 (Aug 16, 2011)

  • adds compatibility with the X-keys XK-12+Joystick and the X-keys XK-12+Touchpad from P.I. Engineering.

New in ControllerMate 4.4.6 (Apr 18, 2011)

  • Added compatibility with buttons 6-14 on the World of Warcraft: Cataclysm MMO Gaming Mouse.
  • Pointing axes can be inverted to reverse cursor motion in the horizontal and/or vertical directions.
  • Pointing axes can be exchanged to assign the mouse X axis value to the vertical motion of the cursor and the Y axis to the horizontal motion of the cursor.
  • Scrolling axes can be inverted to reverse scrolling motion in the horizontal and/or vertical directions.
  • Scrolling axes can be exchanged to assign the vertical scroll wheel value to the horizontal scrolling motion and the horizontal scroll wheel value to the vertical scrolling motion.

New in ControllerMate 4.4.5 (Dec 15, 2010)

  • Adds compatibility with the latest version of the P.I. Engineering X-keys XK-24.

New in ControllerMate 4.4.3 (Jul 24, 2010)

  • [ FIXED ] Fixed a bug that prevented the full version of ControllerMate from using certain features of X-keys devices from P. I. Engineering.
  • [ FIXED ] Fixed a bug that could cause a crash when clicking between building blocks while holding the Command key.

New in ControllerMate 4.4.2 (May 13, 2010)

  • ControllerMate v4.4.2 contains several changes:
  • [ NEW ]Added compatibility with a number of X-keys devices from P. I. Engineering.
  • [ IMPROVED ]Controls for all devices except keyboards and mice are now sorted by name in the Palette window.
  • [ FIXED ]Fixed a memory leak in the helper application.

New in ControllerMate 4.4.1 (Jan 7, 2010)

  • Fixes a bug that prevented bcontrol on some devices from working correctly.

New in ControllerMate 4.4 (Dec 15, 2009)

  • [ NEW ] ControllerMate now includes a 64-bit driver for use when running Mac OS X 10.6 with the 64-bit kernel enabled.
  • [ IMPROVED ] The helper application now runs as a launchd process and can be found in /Library/Application Support/ControllerMate
  • [ FIXED ] Fixed a driver bug that could cause a kernel panic in certain situations.
  • [ FIXED ] Fixed a bug that could prevent the helper from properly running the user's programming after quitting the ControllerMate application.

New in ControllerMate 4.3.11 (Aug 26, 2009)

  • Contains a minor change to allow installation under Mac OS X 10.6.

New in ControllerMate 4.3.10 (Feb 12, 2009)

  • [ NEW ] Controller Configurations may now turn off each pointer and scrolling axis independently of the others. This allows horizontal scrolling to be turned off while retaining vertical scrolling.
  • [ NEW ] A Cursor building block may now position the cursor relative to any corner of the active window. Previously, all window-relative positions had to be defined relative to the window's top-left corner.
  • [ IMPROVED ] Application building blocks and application-specific groups can now detect when running an AppleScript that has been saved as an application.
  • [ FIXED ] Fixed a bug that prevented custom names for controls on virtual devices from being saved properly.

New in ControllerMate 4.3.9 (Dec 13, 2008)

  • [ NEW ] Added compatibility with the World of Warcraft MMO Gaming Mouse. ControllerMate can control the mouse resolution as well as the LED color, intensity, and pulse rate.
  • [ FIXED ] Fixed a bug that caused excessive CPU use by the helper application in certain situations.
  • [ FIXED ] Fixed a bug that prevented ControllerMate from properly applying mouse or keyboard customizations in certain situations.

New in ControllerMate 4.3.8 (Oct 29, 2008)

  • Fixed a general performance issue with the background helper application for users
  • running Mac OS X 10.5.

New in ControllerMate 4.3.7 (Oct 1, 2008)

  • Fixed a bug that prevented a Controller Configuration from working correctly after its
  • device is unplugged and reattached.
  • [FIXED] Fixed a bug that prevented ControllerMate from correctly distinguishing between two identical Microsoft Xbox 360 controllers.
  • [IMPROVED] Decreased the load time of pages that contain a large number of building blocks.
  • [IMPROVED] Decreased the load time of Controller Configurations that contain a large number of controls.

New in ControllerMate 4.3.5 (May 27, 2008)

  • Fixed a bug that prevented ControllerMate from properly interpreting an AppleScript that contains non-ASCII characters.
  • Fixed a bug that caused ControllerMate to become unresponsive when a Numbercertain values.

New in ControllerMate 4.3.4 (Feb 11, 2008)

  • [FIXED] Fixed a bug that prevented ControllerMate's building blocks from being dragged while using Synergy from a different computer.
  • [FIXED] Fixed a bug that prevented AppleScript building blocks from being customized in certain cases
  • [IMPROVED] Added 512 x 512 icon art for Finder Coverflow in Leopard.

New in ControllerMate 4.3.3 (Dec 19, 2007)

  • [ FIXED ] Fixed a bug that prevented ControllerMate from starting up correctly if an AppleScript with errors is found in an AppleScript building block.
  • [ FIXED ] Prevents log output from appearing in system.log in Leopard. Less output is written to logs.
  • [ IMPROVED ] Added 512 x 512 icon art for Finder Coverflow in Leopard.