CFXControl Flex Wiki
English中文

Settings & Controls

Open settings with F9 (keyboard) or Back + Start (controller). This page covers what is in the UI, how to rebind, how to calibrate, where configs live, and what to check when something misbehaves.

Inside the Settings Screen

Area What you do there
Key Mapping View and edit every binding per layer (Main / Shift 1–4 / Screen / Overlay); searchable, including pinyin search
Mod Adaptation Per-mod discovered keys, Screen / Overlay rules, and community config sync — see Mod Compatibility
Calibration Stick deadzones and movement / camera response curves; auto or per-axis calibration
Other Settings Tap / Long Press thresholds, Analog Movement (360°) and the server whitelist, and other global options
Gamepad Selection Detected controllers (name / type / serial); pick which one is active when several are connected

Rebinding

  1. Find the action's layer and category in Key Mapping (search by name, or by Chinese pinyin).
  2. Select the row to start capture, then press a controller button — the resolved input appears live.
  3. For a chord: press the first button, then add the rest within 500 ms until the chord is complete.
  4. Some actions restrict their mode (layer switches are fixed to Hold; Shift-layer return-to-Main to Release) and the UI only offers valid modes.

Edited entries are marked “User modified”, keeping them distinct from template defaults; reset per page or restore the whole template default.

Stick & Trigger Calibration

Templates, Profiles & Reset

Key Detection (Debug)

To debug “why did that button do nothing”, open the tick-by-tick detection log. It shows physical keys, virtual keys, the resolved action, the layer, and timing, with separate In-Game and GUI test modes matching the different input paths. While active, controller input is dedicated to logging.

Where Configs Live

config/controlflex/
├── templates/      # template JSON files
├── profiles/       # your edits (profiles)
├── compat/         # mod compat configs (default / mods / user)
├── radial_menu/    # radial menu layouts and icons
├── backup/         # automatic backups from migrations
└── cfx-client.json # client state

Layer priority and override rules for pack authors are on the Configuration page.

Troubleshooting

Controller not detected

First check Gamepad Selection for a detected device (name / type). If the list is empty: try another USB port or re-pair Bluetooth, verify the pad works system-wide, and make sure the JAR matches your MC version and loader; on Fabric, confirm Fabric API is installed.

A mod's key is bound but does nothing

Check in order: (1) which layer the screen belongs to (Screen / Overlay / Main) and bind there; (2) add a rule for that mod's screen in Mod Adaptation, or sync a community config; (3) if the mod only listens to physical keys, bind it via Virtual KBM. Full flow on Mod Compatibility.

Movement looks abnormal to a server

Switch the Analog Movement policy to keyboard-like 8-way (the default for public servers and Realms); whitelist a server if it should still get smooth movement. See Analog Movement.

Character freezes when the window loses focus

That is vanilla Pause on Lost Focus. Press F3+P to disable it (required for couch co-op; the pause screen also shows a hint).

Starting over from scratch

Back up and rename the whole config/controlflex/ directory; the game regenerates defaults on the next launch, and community/packaged configs are re-extracted at startup.