ControllerMate is a controller programming tool that allows you to customize the behavior of your HID devices
keyboards, keypads, mice, trackballs, joysticks, gamepads, throttles, among others. ControllerMates philosophy is to
be as flexible as possible, to provide a set of basic programming tools, and to allow the user to combine those tools
in an endless variety of ways.
|
Controller programming A new approach
In order to program the buttons on a controller, one might expect that a user would be presented with a
list of buttons and a list of available functions. Match the button to the desired function. Simple. Effective.
ControllerMate takes a different approach.
ControllerMate programming is done in two ways: combining various building blocks to create the function
that you want to perform, or by creating a controller configuration for your particular device. Building blocks are
little nuggets of functionality which can be customized and combined with other building blocks to create complex
functions. Controller configurations allow you to redefine the default behavior of your keyboard and mouse devices.
|
Building functions, one block at a time
ControllerMate building blocks are used to add functionality to the controls on devices. Currently, there are 44
different kinds of building blocks. Each type performs a different function. There are blocks which
represent device controls (buttons, axes, hatswitches) which are used to trigger a function. There are blocks
which perform keyboard functions (typing text, simulating keyboard keys). There are blocks which perform mouse
functions (moving the cursor, simulating a mouse button or scroll wheel). There are yet other blocks which exist
just to allow building blocks to be combined in interesting ways using logic (AND, OR, NOT, XOR).
|
Rewired drivers
Controller configurations can be used to change the default behavior of keyboard and mouse devices.
All buttons on keyboards have some default function or another. Most are useful some are not. A
controller configuration allows you to make one button on a keyboard act like another, or turn it off buttons
entirely. (Q: What good is a button which does nothing? A: It is still available to be used with building blocks.)
In addition to redefining buttons, a controller configuration for a mouse can have a custom acceleration curve.
This curve can be one of the standard curves, or can be one entirely of your own creation.
(1)
|
Virtual devices
ControllerMate allows you to create virtual mouse, tablet and joystick devices. These are devices
that are created entirely by you, but applications will see them just like the devices that you have plugged into your
computer. Using ControllerMates building blocks and controller configurations, you can control every move that these
virtual devices make. Among other uses, you can use a virtual device to turn a joystick into a full-featured mouse.
|
Out of Sight, Never Out of Reach
ControllerMate includes a small helper application which runs in the background. It monitors your controllers
and performs your programming when the ControllerMate application is not running. Once you have finished editing
your programming, quit the ControllerMate application and the background application takes over. No graphics, no
user interface, no unnecessary processor cycles.
|
|
- Controller configurations are available only when running
Mac OS X 10.4 or newer, and for devices that use the default drivers. Controller configurations cannot be
created for devices that use custom drivers.
|
|
|
Features at a glance
|
|
58 different types of building blocks
Source represent controls on devices
Output create keyboard or mouse output
AppleScript run AppleScripts
Logic combine ON/OFF values
Basic Math perform basic arithmetic
Calculation perform complex calculations
Timer provide timing functions
|
|
3 different types of virtual devices
Mouse control the movement of the cursor
Tablet control the position of the cursor
Joystick create a custom gaming device
|
|
Application-specific programming
Collect related programming together in groups. Enable these groups based on whether a particular application is
running or not running.
|
|
In-line help
Detailed help book pages covering every aspect of ControllerMate. Quick Help notes in the Inspector window for
each building block. Tool tips for every user-interface element.
|
|
Multiple identical devices
ControllerMate handles multiple identical devices seamlessly. Each device is identified by the order in which
it is attached to the computer.
|
|
Compatibility
As downloaded, ControllerMate is compatible with many types of HID devices. For some devices
(primarily keyboards and devices that act like keyboards), ControllerMate's compatibility
can be improved by importing a downloadable Controller Type file.
See the ControllerMate Compatibility pages for more info.
|
|
Free Download
ControllerMate may be freely downloaded and evaluated to find out
whether or not it meets your needs.
|
|
|
|