A Programming Group (or simply "Group") is a container for Pages, Driver Configurations, Virtual Devices, and other Groups. A group may contain any number of items.
Groups are found in the list of Programming Items along the left side of the Editor window with a "G" image () next to their names. A group is created by selecting Create Programming Group from the Action menu at the top of the list of Programming Items, or by right-clicking within the list itself and selecting Create Programming Group from the popup menu.
When a group is selected, its contents are shown in the main area of the Editor window.
To change the name of a group, select it in the list of Programming Items, then edit its name in the Inspector window.
A group may be enabled or disabled by using the Enabled check box in the Inspector window, by using the check box by the group's name in the list of Programming Items, or by using the Action menu at the top of the list of Programming Items. When a group is disabled, building blocks on its pages will not generate keyboard output or affect the cursor, Driver Configurations will not affect their driver functions, and Virtual Devices will not be active.
A group may also be enabled or disabled using a Properties building block. This allows portions of ControllerMate's programming to be enabled or disabled based on other programming.
A group can conditionally make its contents active based on applications that are currently running or not running. To add a required application, click the + button in the lower-left corner of the Inspector window. If the application is currently running, select it from the menu. To add an application that is not currently running, select Choose other Application... and browse to the desired application.
For each application, choose whether the group's contents the be active when the application is running or not running, and whether the group should look for that application as a foreground or background application.
If the group is configured to depend on more than one application, then the Any/All popup button can be used to configure the group to activate its contents when any one of its application requirements is correct, or only when all of its application requirements are correct.
When an application requirement has been added to a group, its image in the list of Programming Items will change to an "A" (). The contents of a group with an application requirement may not be active when ControllerMate is the current application – it depends upon whether ControllerMate itself was included in the list of requirements. A group can be configured to temporarily ignore its required applications by clicking on the Debug icon () immediately to the right of the group's checkbox in the list of Programming Items. When the Debug icon is turned on, the group behave as though it has no application requirements.
When a group's One active item at a time setting is enabled, only the first of the group's items that is not disabled will be made active. This ability can be used to create default programming that is active only if no other programming is active. For example, if a group with the One active item at a time setting enabled contains a number of groups that are each active only when a particular application is running, followed by a group that has no special requirements, the contents of the last group will be active only when none of the other application-specific groups are active.