Compatible with OS X 10.10, 10.9, and 10.8

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.

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

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.

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!

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.

New in ControllerMate v4.9.3

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 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.