ControllerMate for Mac gives you the ability to customize various devices, including the keyboard and mouse, joystick, gamepads, and more, for use with your computer. With a bit of experimenting, you can create all kinds of automated processes to streamline tasks.
Lots of options: Whether you just want to create some advanced shortcuts to use while you're working, or you want to configure additional devices to perform different types of functions, you can do so through this app. Device options include your built-in keyboard, an additional keyboard, various controllers, joysticks, gamepads, and more. And you can use them to produce text or perform many other types of complicated sequences that you'd otherwise have to carry out manually with the keyboard or mouse.
Kill feature: Occasionally when you create a shortcut, it will result in a "stuck key" or a "meandering cursor" effect. To help you get rid of this issue, the app includes the ability to turn off the Master Enable for the entire software with just the touch of a button. That way, you don't have to deal with the inconvenience of a drifting cursor or other side effects of the function you've just executed.
Not for beginners: This app features a three-window Interface that can be intimidating. And while there is a good deal of documentation and other Help available, the process for creating automated functions in this app is rather technical and unintuitive.
ControllerMate for Mac gives you a lot of options for customizing various devices for use with your Mac. While it may be too technical for you, it can provide a lot of functionality if you're able to get the hang of the way it works. It's also free to download and use, so it's worth checking out even if you're not sure you have the experience necessary to get the most out of the software.
Editors' note: This is a review of the trial version of ControllerMate for Mac 4.9.3.
ControllerMate is a controller programming tool that allows users to add custom functionality to standard HID devices (joysticks, trackballs, gamepads, keyboards). Using a highly graphical interface and drag-and-drop editing, users can program controller buttons to perform complex keyboard and mouse sequences. Programming is accomplished using "building blocks". Each type of building block performs a different type of function. Building blocks can be individually configured and linked together to perform an endless variety of tasks. Common programming tasks that can be performed with ControllerMate include configuring controller buttons to act like individual keyboard keys, configuring controller buttons to generate simple text, configuring controller axes to act like mouse axes, assigning an AppleScript to a controller button, redefining keyboard keys, assigning a custom acceleration curve to a mouse.