ComfyUI Node
XController
Universal control node. Select control type via dropdown: Knob, Horizontal Fader, Vertical Fader, Toggle, Button, or XY Pad. Supports Range, Steps, and Percentage value modes for analog controls.
XController
- FLOAT
- INT
- BOOLEAN
- X
- Y
◄control_typeKnob►
◄value_modeRange►
◄min0.00►
◄max1.00►
◄step0.010►
◄default_value0.50►
◄steps[0.0, 0.25, 0.5, 0.75, 1.0]►
◄default_step_index2►
◄base_value100.00►
◄pct_min-50.0►
◄pct_max50.0►
◄default_pct0.0►
◄shapecircle►
◄toggle_styleswitch►
◄default_statetrue►
◄button_modeincrease►
◄button_stylerounded►
◄x_min0.00►
◄x_max1.00►
◄x_step0.010►
◄x_default0.50►
◄y_min0.00►
◄y_max1.00►
◄y_step0.010►
◄y_default0.50►
◄crosshair_visibletrue►
◄grid_visibletrue►
◄_normalized0.5000►
◄_statefalse►
◄_x_normalized0.5000►
◄_y_normalized0.5000►
Category♾️ Xz3r0/Workflow-Processing
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| control_type | COMBO | Knob | Select the visible controller: Knob, horizontal fader, vertical fader, Toggle, hold Button, or XY Pad. |
| value_mode | COMBO | Range | Controls how a 0-1 position becomes FLOAT output: Range, Steps, or Percentage. |
| min | FLOAT | 0.00 | Lowest FLOAT output in Range mode. |
| max | FLOAT | 1.00 | Highest FLOAT output in Range mode. |
| step | FLOAT | 0.010 | Range snap size and hold-button increment. Use 0 to disable snapping. |
| default_value | FLOAT | 0.50 | Default Range value used as the intended reset/start value. |
| steps | STRING | [0.0, 0.25, 0.5, 0.75, 1.0] | JSON array of discrete FLOAT outputs, for example [0, 0.25, 0.5, 1]. |
| default_step_index | INT | 2 | Default step index, starting at 0. The button moves one index per repeat. |
| base_value | FLOAT | 100.00 | Base value used before applying the percentage offset. |
| pct_min | FLOAT | -50.0 | Minimum percentage offset. Negative values reduce the base value. |
| pct_max | FLOAT | 50.0 | Maximum percentage offset. Positive values increase the base value. |
| default_pct | FLOAT | 0.0 | Default percentage offset used as the intended reset/start value. |
| shape | COMBO | circle | Visual shape for knobs, or handle shape for horizontal/vertical faders. |
| toggle_style | COMBO | switch | Visual style of the boolean toggle. It changes BOOLEAN and outputs 0 or 1 on FLOAT. |
| default_state | BOOLEAN | true | Default boolean state for Toggle when no saved state exists. |
| button_mode | COMBO | increase | Increase: hold to raise value. Decrease: hold to lower value. Toggle: click between min and max |
| button_style | COMBO | rounded | Visual shape of the hold button. The button also reports pressed state on BOOLEAN. |
| x_min | FLOAT | 0.00 | Lowest X output value for the XY Pad. |
| x_max | FLOAT | 1.00 | Highest X output value for the XY Pad. |
| x_step | FLOAT | 0.010 | Snap size for X output. Use 0 to disable X snapping. |
| x_default | FLOAT | 0.50 | Default X value used as the intended reset/start value. |
| y_min | FLOAT | 0.00 | Lowest Y output value for the XY Pad. |
| y_max | FLOAT | 1.00 | Highest Y output value for the XY Pad. |
| y_step | FLOAT | 0.010 | Snap size for Y output. Use 0 to disable Y snapping. |
| y_default | FLOAT | 0.50 | Default Y value used as the intended reset/start value. |
| crosshair_visible | BOOLEAN | true | Show guide lines through the current XY point. |
| grid_visible | BOOLEAN | true | Show a subtle grid behind the XY Pad for easier positioning. |
| _normalized | FLOAT | 0.50000–1 | Internal: current normalized value (analog controls) |
| _state | BOOLEAN | false | Internal: current state |
| _x_normalized | FLOAT | 0.50000–1 | Internal: current normalized X |
| _y_normalized | FLOAT | 0.50000–1 | Internal: current normalized Y |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | Current value (analog controls) |
| INT | INT | FLOAT output truncated toward zero |
| BOOLEAN | BOOLEAN | Current state (toggle / button) |
| X | FLOAT | Current X coordinate |
| Y | FLOAT | Current Y coordinate |