Features Compatibility X-keys Documentation Examples

ControllerMate v4.8

ControllerMate v4.10.4

December 2, 2017

Compatible with macOS 10.12 Sierra and macOS 10.13 High Sierra
Previous versions can be downloaded for older versions of macOS
Building Blocks

Building functions, one block at a time

ControllerMate building blocks are triggered by controls on devices or MIDI messages. Each type of building block performs a small task. Building blocks can be combined to perform complex functions.

ControllerMate now includes more than 70 types of building blocks!

Some building blocks respond directly to controls on devices. Others perform logic, math, or timing. Yet other blocks trigger activity on ControllerMate's virtual mouse or keyboard, perform AppleScripts, open files, or launch applications. The possibilities are virtually limitless.

Driver configuration

Reconfigure drivers

Driver configurations can be used to change the default behavior of a keyboard or mouse that uses ControllerMate's driver.

All buttons on a keyboard have some default function or another. Most are useful, some are not. A driver configuration allows one button on a keyboard act like another, or can turn a button off completely. Buttons that have been turned off can still be used to trigger building blocks.

A driver configuration for a mouse can include a custom acceleration curve. This curve can be one of the standard curves, a standard curve with an adjusted speed or sensitivity, or an entirely custom curve created point by point.

Multiple configurations can be created for the same keyboard or mouse — use building blocks to control when a configuration is active.

MIDI Messages

MIDI in, MIDI out

MIDI messages can now trigger building blocks just as easily as buttons on a joystick, mouse, or keypad. MIDI notes, controller values, or patch changes can be used.

ControllerMate can also create and send MIDI messages through a virtual MIDI source. This allows generic input devices to be used to control applications that listen to ControllerMate's virtual MIDI source.

Virtual Devices

Virtual devices

ControllerMate can create virtual mouse, tablet, and joystick devices that are controlled by ControllerMate programming. The virtual devices are seen by most other applications just as though they were actual devices.

Every move that a virtual device makes is controlled using ControllerMate's building blocks and driver configurations.

ControllerMate Helper v4.6 Icon

Out of sight, never out of reach

ControllerMate includes a helper application that runs in the background, monitors the attached controllers, and performs the current programming when the ControllerMate application is not running.

After you have finished setting up your building blocks and driver configurations, quit the ControllerMate application and the background application takes over. No graphics, no user interface, no unnecessary processor cycles.

Free to try

Free to try!

ControllerMate is compatible with many types of devices and can perform a wide variety of tasks. Give ControllerMate a try to find out if it will work for you, risk free, and with no time limit.

When ControllerMate is used without registration there will be a limit of 10 building blocks that generate output (keyboard or mouse activity, MIDI messages, AppleScripts, etc.). Building blocks that respond to controls or MIDI messages, perfom logic, math, or timing can be created in unlimited numbers. This should give you a good opportunity to find out how ControllerMate works and if it will work for you.

ControllerMate v4.7 Icon

New in ControllerMate v4.10.4

    ControllerMate v4.10.4 includes a minor change to fix sluggish performance that could occur when viewing the Controller Information panel for certain devices.

    ControllerMate for X-keys v4.10.4 includes a fix for the system extension approval process in macOS 10.13 High Sierra.

ControllerMate v4.10.3

    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.

ControllerMate v4.10.2

    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.

ControllerMate v4.10.1

    ControllerMate v4.10.1 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.

ControllerMate v4.10

  • Improved compatibility with macOS 10.12 Sierra
  • Added the ability to position the cursor relative to a window with a specific name in addition to the currently active window.

ControllerMate v4.9.10 changes

  • Added compatibility with the X-keys XKR-32 Rack Mounted Keys.
  • Added compatibility with the X-keys XKE-124 T-bar.

ControllerMate v4.9.9 changes

  • 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 changes

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

ControllerMate v4.9.7 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 changes

  • 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 changes

  • 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 changes

  • 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 changes

  • 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 changes

  • Added compatibility with 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.

Previous Versions

ControllerMate v4.9.10 can be used with Mac OS X 10.8 — 10.11
ControllerMate v4.8.3 can be used with Mac OS X 10.6 (64-bit) and 10.7
ControllerMate v4.5.3 can be used with Mac OS X 10.4/10.5 and Mac OS X 10.6 (32-bit)