Understanding Sections
Sections provide a simplified way to configure groups of hardware components without navigating the full layer tree. Instead of working through complex layer hierarchies, sections let you focus on specific areas of your controller's functionality—like camera adjustments, user buttons, or routing controls.
Most SKAARHOJ default configurations include sections. If you've ever used the Section Selector dropdown in the configurator, you've already been working with sections.
What Are Sections?
A Section is a named group of hardware components (buttons, encoders, faders) that belong together functionally. When you select a section in the configurator, only that section's components are highlighted and editable in the Section View. This makes it easier to:
- Focus on one functional area at a time
- Navigate complex configurations without getting lost in the tree
- Make changes to related controls without affecting other parts
Sections are defined on layers in the configuration tree. Each section specifies which hardware components belong to it, and optionally, which variables control its pages and shift states.
Working with Sections
To work with sections in the configurator:
- Open your configuration in the configurator
- Look for the Section Selector dropdown near the top of the interface
- Click the dropdown to see available sections
- Select a section to view and edit its components
When a section is selected, the configurator highlights that section's hardware components on the controller visualization. You can then click on individual components to edit their behaviors.
Section Components
Each section defines a list of HWC Keys (Hardware Component Keys)—the names assigned to buttons, encoders, and other controls that belong to that section.
When you're in Section View:
- Only the section's HWC Keys are shown and editable
- Other components on the controller still exist but are dimmed or hidden
- Changes you make only affect the selected section's components
To access components outside the current section, either switch to a different section or use the tree view for the full configuration.
Page Variables and Menu Navigation
Many sections use Page Variables to provide multiple "screens" of functionality on the same physical controls. This is how menu navigation works in most SKAARHOJ configurations.
How Pages Work
When creating and editing pages in the section view, Reactor will create layers and active if conditions accordingly. Page variable is used to select between those layers.
The Page Variable is a standard Reactor variable with multiple options (like "Home", "Exposure", "Color", "Focus"). The section displays different behaviors on its components depending on which page is currently selected.
For example, in the Canon XC Camera Adjustments section:
- Home page: The 8 encoders control AWB Mode, Color Gain, Shooting Mode, Gain, Iris, and Focus
- Exposure page: The same 8 encoders now control Auto Iris, Gain Mode, Shutter settings, and ND Filter
- Color page: The encoders control White Balance, Color Temperature, and Master Pedestal
The physical encoders are the same—only the assigned behaviors change based on the active page.
Navigating Between Pages
In Section View, you'll see page navigation controls that let you:
- See the current page name
- Switch to different pages
- Understand which page you're editing
The exact location and appearance of these controls depends on the configuration, but they're typically visible when a section with pages is selected.
Page navigation in Section View is for editing the configuration. The actual runtime page switching is controlled by behaviors on your controller—often a dedicated Page button or encoder that cycles through the page variable's options.
Shift Variables
Shift Variables extend the functionality of your controls without requiring additional physical hardware. By holding a designated Shift button, you can access secondary behaviors on the same controls.
How Shift Works
A Shift Variable typically has two states:
- Off (Normal): Standard behaviors are active
- On (Shifted): Secondary behaviors become active
When you hold the Shift button on your controller, the Shift Variable changes to "on", and any shift-specific layers become active. This reveals additional controls that would otherwise be hidden.
Common Shift Patterns
In camera configurations like Canon XC, the Shift button provides access to:
- Exposure page: Shift reveals Auto Exposure Shift, DNR Mode, Flicker Reduction, Infrared Mode
- Color page: Shift reveals Matrix controls and extended color gain settings
- Focus page: Shift reveals additional focus adjustment parameters
This pattern effectively doubles the number of available controls on each page without adding physical buttons.
Shift in Section View
When editing a section with shift support, you may see:
- A shift state indicator showing whether you're viewing normal or shifted behaviors
- The ability to toggle shift state to edit shift-specific behaviors
- Separate layers in the tree for normal and shifted configurations
Normal
Shifted
Real-World Example: Canon XC Camera Adjustments
The Canon XC ProClass configuration demonstrates a well-designed section structure. Let's walk through how it uses sections, pages, and shift.
The Camera Adjustments Section
This section maps 8 encoders (Enc1 through Enc8) to camera parameters. It uses:
- Page Variable: "SettingPage" with 10 different pages
- Shift behavior: Hold-to-activate for extended controls
Page Structure
| Page | Enc1 | Enc2 | Enc3 | Enc4 | Enc5 | Enc6 | Enc7 | Enc8 |
|---|---|---|---|---|---|---|---|---|
| Home | AWB Mode | Color Gain R | Color Gain B | Shooting Mode | Gain | Iris | Focus Speed | Focus Position |
| Exposure | Auto Iris | Camera Iris | Gain Mode | (varies) | Shutter Mode | (varies) | ND Filter | Shooting Mode |
| Color | AWB Mode | - | - | Color Temp | Exec WB A | Exec WB B | Master Pedestal | Black Gamma |
| Focus | Focus Mode | Focus Speed | Focus Limit | Face AF | Focus Area | - | - | Focus Position |
Each page provides a complete set of related controls, making it easy to adjust one aspect of the camera without navigating through menus.
Shift Functionality
On the Exposure page, holding Shift reveals:
- Auto Exposure Shift and Response settings
- DNR Mode and settings
- Flicker Reduction
- Infrared Mode
- Image Stabilizer controls
This pattern repeats across pages—Shift always provides access to less frequently used but related parameters.
Workflow Example
A typical workflow using this section:
- Select the Camera Adjustments section
- Navigate to the Exposure page
- Adjust primary exposure settings (Iris, Shutter, Gain)
- Hold Shift to access DNR or other advanced settings
- Navigate to Color page for white balance adjustments
- Return to Home page for quick access to common controls
User Section Pattern
Many SKAARHOJ configurations include a User Section—a dedicated area where users can customize their own button assignments.
User Section Variables
User Sections typically include:
- SEC_UserPage: Controls which page of user buttons is displayed
- SEC_UserShift: Provides shift functionality for user controls
These variables work the same way as other page and shift variables, but they're specifically designed for user customization.
Customizing User Sections
In a User Section, you can:
- Assign behaviors to buttons for your specific workflow
- Organize related controls across multiple pages
- Use shift for secondary functions you access less frequently
The User Section is intentionally left more open for customization compared to device-specific sections like Camera Adjustments.
If your configuration has a User Section, this is usually the best place to add custom behaviors. Changes here won't interfere with the device-specific configurations.
Tips for Working with Sections
When to Use Section View
Section View is ideal when you want to:
- Quickly adjust behaviors in a specific functional area
- Understand how a particular group of controls works together
- Make targeted changes without affecting the rest of the configuration
When to Use Tree View
Switch to Tree View when you need to:
- Create a new section from scratch
- Modify the section's page or shift variables
- Understand the underlying layer structure
- Make changes that span multiple sections
Finding Section Definitions
To see how a section is defined:
- Open the Tree View
- Look for layers with section configurations (often indicated in the tree)
- Select the layer to see its section settings in the inspector
The section's HWC Keys, Page Variable, and Shift Variable are all defined on this layer.
Variable Scope
Remember that Page and Shift Variables follow tree inheritance:
- They must be defined at or above the section layer
- Child layers can read and modify these variables
- This is why section variables are often defined on the same layer as the section configuration
Understanding this scope helps when troubleshooting why a page or shift isn't working as expected.