Click “Install Update” to install the latest version of ControllerMate.
To download a disk image-based installer instead, click here.
ControllerMate v4.10 — December 12, 2016
ControllerMate v4.10 is an update that addresses some features that are incompatible with macOS 10.12 Sierra. Some features are fixed in this update, some require an update to 10.12.1 Sierra, others remain incompatible with Sierra.
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.
ControllerMate v4.9.10 — May 13, 2016
ControllerMate v4.9.10 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.
ControllerMate v4.9.9 — February 19, 2016
ControllerMate v4.9.9 includes a few improvements:
- 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.
ControllerMate v4.9.8 — September 25, 2015
ControllerMate v4.9.8 includes minor visual changes for compatibility with OS X 10.11 El Capitan.
ControllerMate v4.9.7 — June 5, 2015
ControllerMate v4.9.7 includes a few changes:
- 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.
ControllerMate v4.9.5 — March 27, 2015
ControllerMate v4.9.5 provides a few improvements:
- 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.
ControllerMate v4.9.3 — December 8, 2014
ControllerMate v4.9.3 provides a couple of bug fixes:
- 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.
ControllerMate v4.9.2 — November 21, 2014
ControllerMate v4.9.2 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.
ControllerMate v4.9.1 — November 7, 2014
ControllerMate v4.9.1 fixes several issues:
- 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.
ControllerMate v4.9 — September 27, 2014
ControllerMate v4.9 contains a number of changes and fixes. Among these are:
- 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.
ControllerMate v4.8.3 — September 5, 2014
ControllerMate v4.8.3 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.
ControllerMate v4.8.2 — May 30, 2014
ControllerMate v4.8.2 improves 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.
ControllerMate v4.8.1 — April 7, 2014
ControllerMate v4.8.1 adds compatibility with new devices and fixes a couple bugs:
- 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.
ControllerMate v4.8 — March 14, 2014
ControllerMate v4.8 contains a number of changes and fixes. Among these are:
- 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.
ControllerMate v4.7.1 — October 11, 2013
ControllerMate v4.7.1 adds compatibility with new devices and fixes a couple of bugs:
- 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.
ControllerMate v4.7 — August 12, 2013
ControllerMate v4.7 contains a number of changes and fixes. Among these are:
- 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.
- 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.
- 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.