Input and outputUpdated 2026-07-24

Remap and unmap declarations

Declare static controller remaps and disabled outputs before runtime, and distinguish them from per-frame set_val logic.

Overview

remap changes the static relationship between input and output identifiers; unmap disables an output mapping. Both are declarations rather than statements run from main.

Use runtime output functions when a condition must decide the mapping dynamically.

Key facts

  • remap and unmap declarations occur before runtime blocks.
  • Static remapping is different from writing an output value in main.
  • Verify identifiers against the current official table for the active controller protocol.

GPC syntax examples

Examples are intentionally small. Replace identifiers only with values documented for your target.

Declaration placementexample.gpc
remap XB1_A -> XB1_B;
unmap XB1_Y;

main {
    // runtime logic still reads the original inputs
}

Functions, commands, and terms

Names below are catalog entries, not guessed signatures. Open the official sources for current parameter and return-value details.

NameKindPurpose
remapdeclaration

Declares a static source-to-destination control mapping.

unmapdeclaration

Declares an output mapping as disabled.

Common mistakes

Putting remap inside main.

Expecting a static remap to switch conditionally.

Mixing controller identifier families without checking the output protocol.

Official GPC sources

Use these first-party references to confirm exact syntax and runtime behavior for your installed firmware and Studio version.

Related GPC references