Input Nesting - Accessing multiple layers of commands

Input Nesting - Accessing multiple layers of commands

Input nesting is a feature in the X1 Control Panel that allows any active button, deep click, tilt, or pivot input to modify the output of all other inputs. 

Some example methods of use consist of:
- Using a button or tilt as a modifier to unlock a secondary set of functions on top of your existing button assignments. 
- Controlling when the gyroscope reads for tilt or pivot gesture
- Create mouse movement gestures while a button/tilt is active
- Using a deep click assignment as a modifier 

You can use this feature of the X1 Control Panel to achieve many configurations, although this article will provide a general setup guide and potential use cases.

Input Nesting Example:

The term "Input Nesting" comes from the nature of "nesting" an input inside an input. Below is a basic example of an input nested setup on one of the Z3's 13 buttons.









In the configuration above, pressing "Rear Edge" on its own will output "Interact". However, the "Rear Edge" button also acts as a modifier for the "Bottom Thumb" button. So if Rear Edge is pressed, pressing Bottom Thumb in conjunction opens the Map. 

Knowing this logic, if we navigate to our "Bottom Thumb Press" mappings, we can see it's currently set to output a Dodge Roll as its default configuration. So, in the example before, we modified the output of Bottom Thumb by pressing and holding Rear Edge. 







Now that you know how Input Nesting works, we can dive deeper into how to set it up and cover some more examples. 

Adding a nested input:

In Simple Mode you can add a nested input by selecting any button or tilt Input, and then clicking the "Add Input" button:

In Expert mode click the three dots next to the input, and select "Add".

In both cases you will then select the type of input you want to add, and various settings depending on the input.
  1. Mouse Button
    1. User Input - Select a specific button inputs
  2. Mouse Movement
    1. Direction and Distance - Set's how far, and in which direction you need to move the mouse to activate it's output. 
    2. Single/Repeat - Sets whether the output will activate only once, or if you can keep moving the mouse to repeat it.
  3. Scroll Wheel
    1. Direction - Select a Scroll Push or Pull input
  4. Deep Click
    1. Force - The minimum force required to activate the input. 
    2. User Input (Expert Mode Only) - Select which button the deep click belongs too. Make sure to select an input the deep click is nested inside, or it will not function.
    3. Toggle Region/Analog Range(Expert Mode Only)
      1. Toggle region works like a button within a button, it activates when you go above the Force threshold, and releases when you drop below it.
      2. Analog Range allows you to define a force range which can be mapped onto a joystick slider output.
  5. Tilt/Pivot
    1. User Input - The direction of movement to activate the input.
    2. Angle - The minimum angle of movement in that direction to activate the input.
    3. Noise Level - Subtracted from the Angle setting to determine the deactivation angle of the input.
    4. Min/Max (Analog Inputs) - Set the active range for the analog input.
    5. Mirror (Analog Inputs) - Lock Min/Max values so they match, or unlock them to set each direction independently. 

Blocking Parent Mappings when accessing a nested input


"Block Parent Mappings" option

When setting up a nested input, you may notice that the parent input's own primary output still fires when you press it. This is intentional and is useful for running outputs in parallel. Although in many cases, this is undesirable - for example, if Rear Edge is assigned to "Interact", you might not want "Interact" to fire every time you intend to use it as a modifier to access "Map". 

There are two steps required to prevent this.

Block Parent Mappings is a toggle available on a nested input that, when enabled, suppresses the parent output when it is being used to trigger a nested input. You can enable this setting for any nested press or release output in Expert mode, as shown below. 


Toggling Block Parent Mappings on a nested input's press or release gives you precise control over when the parent output is suppressed.

When enabled upon a press, the parent mapping is blocked as soon as the nested input is pressed. When enabled on release, the parent output remains active while the nested input is held, and is only suppressed once the nested input is released.


Shifting the parent mapping to a release output

Even when Block Parent Mappings enabled, the parent's press output will always fire first, as it can't be block by a nested input which hasn't happened yet.

To address this you can shift the entire parent mapping to the release output, which means the output only occurs when the parent key is released, and with Block Parent Mappings enabled, only when the nested input is not used. 



In the example above, the key "E" for Interact is assigned to the press of the Front Edge button. Regardless of when I want to use "Map", I inevitably have to press "E" to access it.

You might not want this to occur, so, the easiest way to avoid this is the example below:



Here, you'll see that the parents' press output is assigned to do nothing - this is so that when the Rear Edge button is depressed, it will not output anything. This gives us the freedom to access our nested input, by holding down the bottom thumb to access the Map without triggering anything else.

Now, since we also have "Block Parent Mappings" enabled, once we are finished looking at the map, the parent mappings won't activate once we release the Rear Edge button. 

On the other hand, if we want to interact, pressing and releasing the Rear Edge button will simulate pressing and releasing "E", giving us access to our "Interact" mapping.
Warning
Disclaimer: Assigning an output to a release instead of press does introduce latency. As a full press and release of the button is required to activate the desired output. This setup is not recommended for actions that require fast reactions or quick, repetitive outputs

    • Related Articles

    • Enable Pivot without a parent input

      By default Pivot inputs can only be enabled while holding down another button/input. As in the example below when a pivot has been added to the right trigger. If you want to be able to use pivot without first pressing another button the attached ...
    • Launching multiple Instances of the X1 Control Panel on Windows.

      This is not a use case the X1 was designed for, so it may be very janky. But a few users raised cases where being able to run multiple instances of the X1 could help (e.g. more than one mouse connected). So we've added a launch argument that allows ...
    • Swiftpoint X1 Control Panel Beta Changelog

      3.1.0.0 Beta New Control Panel Features: Added Support for Z3. "Block further outputs" updated to "Block parent mappings". The block now only applies to ancestor mappings, not sibling mappings. Blocks are now available on nested scroll and mouse ...
    • Swiftpoint X1 Control Panel - Changelog

      Latest Version 3.0.9.1 - May 2026 Improvements & Fixes: Allow access to all pre-made profiles from all mouse models. Allow adding vibration to all input types in simple mode. Use ↑ and ↓ symbols for mouse press and release outputs on mappings screen. ...
    • X1 Control Panel Expert Mode Overview

      Main Menu Starting from the top left of the Control Panels window you will find the Main Menu. Here you can access some of the key functionality detailed below. Save Mappings to Permanent Flash Memory in Mouse: This option allows you to export all of ...