Device Control Building Blocks

Device Control building blocks each respond to an axis, button, or hatswitch control on a physical or virtual device. The output of the building block indicates the current position or state of the control.

Preconfigured Device Control building blocks can be found in the center section of the Palette window by selecting "Controllers" from the popup menu, then selecting the desired device. Unconfigured Device Control building blocks can be created by right-clicking on a page, then selecting Create Building Block ‣ Device, then selecting the building block type.


The device and control that Device Control building blocks respond to are shown in the Identity tab of the Inspector window. To assign a different device and/or control, drag a building block for the new device and/or control from the Palette window into the Inspector window. The Inspector window will copy the device settings of an item dropped in the DEVICE section, the control settings (if any) of an item dropped in the CONTROL section, and both device and control settings of items dropped anywhere else in the Inspector window.

Device Control building blocks can also be configured by "capturing" information from an active control. After clicking the Capture button in the Inspector window, the building block will reconfigure itself to respond to the first control that is pushed. Activity from specific devices can be ignored by clicking the Settings button, then turning off the devices that should be ignored.

Device Control building blocks can be configured to depend on Modifier values.


Additional options are shown in the Behavior tab in the Inspector window. Building blocks that respond to controls that report relative position values can be configured to ignore or report repeated values from the control. If the block is configured to respond to any value from the control, it can be separately configured to ignore repeated "0" values.

The behavior of the building block when its associated device is not attach can also be specified. The block can either retain its current output value, or set its output to a predetermined value.