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. ControllerMate*s 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.
In other words, it's a graphical macro-building environment that lets you do anything with whatever spare buttons, joysticks, etc. you may happen to have laying around. If you've used Apple's Quartz Composer before, you're probably already somewhat familiar with how ControllerMate works...and how insanely versatile it is.
This is a reseed of the contents of this torrent, which has sadly died since, along with any other, more recent seeds of ControllerMate here on Demonoid.
Controller programming * A new 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 more than 50 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).
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)
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 ControllerMate*s 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
NOTE: This is not the most recent version of ControllerMate; the latest is version 4.4.5. Unfortunately, this is the most recent version I had (or could find) which also has a registration key. Serial Box and KCNScrew appear to have a serial number for 4.3.11, but OrderedBytes only offers the most recent version for download on their site.