Keystrokes Building Block

The Keystrokes building block is used to generate a series of individual keystrokes on ControllerMate's internal keyboard.

A Keystrokes building block has one ON/OFF input and one ON/OFF output. When the input value changes, the building block will generate its keystrokes and then update its output to match the input value.

The keystrokes that the building block generates are shown in the Inspector window in two columns. The left column displays the keystrokes that will occur when the building block input turns ON, the right column displays the keystrokes that will occur when the building block input turns OFF. The keystrokes are represented with gray blocks: dark gray blocks with down arrows represent a key press, light gray blocks with up arrows represent a key release.

To configure a Keystrokes building block, drag the desired keys from the Keystrokes Palette to the columns in the Inspector window. The Inspector window can also "capture" keys by clicking the Capture button and pressing the desired keys on a keyboard. Click the Stop button when finished. After the keystrokes have been added to the Inspector window, they can be rearranged or moved from one column to the other by dragging them to a new location.


A Keystrokes building block should usually be configured to release each key that it presses.

If a key is not released, then ControllerMate's internal keyboard will act like it has a stuck key.

A Keystrokes block may be configured to generate the keystrokes at a specific speed. By default, the block will generate the keystrokes at 20 keystrokes per second. In some situations, this may be too fast for the receiving application, and it may miss some or all of the keystrokes that ControllerMate generates. If this happens, the speed at which the Keystrokes building block generates keystrokes can be slowed to allow the application to "see" the characters.

In the example to the right, the Keystrokes building block is configured to press the Command-Shift-4 keys when the building block turns ON, and release the same keys when the building block turns OFF. The keys will be pressed and released at 10 keystrokes per second.

Keystrokes building blocks require the internal keyboard to be enabled in ControllerMate's preferences. If the internal keyboard is disabled, INACTIVE will be drawn over the building block.