Precautionary Measures

ControllerMate uses an internal keyboard mouse to implement the behavior of its building blocks. These virtual devices can send a large number of events to the OS X event-handling system very, very quickly.

Since the building blocks are highly configurable, it is possible to inadvertently (or intentionally) create actions that simulate stuck keys on a keyboard or simulate a wandering mouse. If this happens, ControllerMate may overwhelm the actual keyboard and mouse, and make a computer rather difficult to use.

To guard against this possibility, ControllerMate includes a Safety building block that can disable various aspects of ControllerMate. To the right is an example of a basic setup using the Safety building block.

In this example, if the ESC key is pressed on a MacBook's built-in keyboard and held continuously for five seconds, the Safety building block will turn off ControllerMate's Master Disable. This will stop any action that ControllerMate is currently performing. The Beep building block is used to provide audible feedback when the five-second delay elapses.

A Safety building block can be triggered in any way that is convenient, but does not occur during normal usage of the computer.


It is always wise to test a setup before putting it into operation. Therefore, consider the setup to the right.

This simple two-block action could be a trap. The Keystrokes block is configured to press the "K" key on the virtual keyboard, but never releases the key. In this case, pressing button #3 on a CH Pro Throttle USB will cause ControllerMate to press and hold the "K" key on its virtual keyboard forever.

If this were to happen accidentally, then the user interface for the current application would be flooded with "K" characters. In some cases this may be no problem at all. In other cases it may be a real problem. With a Safety building block setup, it would be easy to stop the "K" characters from appearing

Setting up (and testing) a Safety building block is highly recommended.