CFXControl Flex Wiki
English中文

Getting Started

From download to a working controller in about five minutes.

Requirements

Component Requirement
Minecraft 1.7.10 – 26.3, 13 versions: 1.20.1 / 1.19.2 / 1.18.2 (Forge / Fabric); 1.21.1, 1.21.11, 26.x (NeoForge / Fabric); 1.16.5 and older are Forge builds (1.16.5 also has Fabric) — see Minecraft Versions
Java 8 (1.16.5 and older); 17 (1.18.2 – 1.20.1); 21 (1.21.x); 25 (26.x)
Fabric API Required on Fabric (Forge / NeoForge builds have no extra dependencies)
SDL3 Bundled on all three desktop platforms; on Android it comes from the launcher — see Platform Support
Platform Windows (x86_64), macOS (Intel / Apple Silicon), Linux (x86_64 / aarch64); on Android it runs inside a launcher (FCL / Zalith Launcher 2 / Mojo / Amethyst) — see Platform Support
Side Client-side only; servers do not need it and other players are unaffected
Controllers Xbox One / Series X|S, PS4 / PS5 (DualShock 4, DualSense), Switch Pro, Xbox Elite (paddles), Steam Controller, generic XInput / DirectInput pads

Download & Install

  1. On the CurseForge project page, pick the file matching your MC version and loader.
  2. Put the JAR into the game's mods/ folder (on Fabric, make sure Fabric API is installed too).
  3. Launch the game. Connection status, name, and type of each controller appear under Control Flex Settings → Gamepad Selection.

Multiple controllers (hotplug): Control Flex detects pads via SDL3 hotplug events and tracks them by identity (name / type / serial). If the active pad disconnects, the first available one is selected automatically.

On Android (Fold Craft Launcher, Zalith Launcher 2, Mojo, Amethyst, and similar): just drop the JAR into that instance's mods/. There is no SDL3 to install — it comes from the launcher itself. Three things to watch: the launcher's -Dos.version must not be overridden by custom JVM arguments, or the mod treats the JVM as desktop Linux and no controller ever appears; hide the launcher's own virtual mouse pointer (turn it off, or set its size / opacity to 0); and on ZL2 / FCL set the gamepad input mode to SDL Direct. See Platform Support.

Opening Settings

Defaults: F9 on keyboard, Back + Start on a controller. The open-settings action is itself rebindable and lives in the Control Flex category of Key Mapping.

Pick a Template

Three templates ship with the mod; switch between them in the settings screen at any time:

TemplateWhat it is
BasicThe foundation: A jump, RT attack, LT use, left stick move, right stick look
BedrockCloser to the Bedrock Edition controller feel
RecommendThe author's modpack-oriented layout with more actions pre-bound

A template is a set of default bindings; your edits are stored separately and never modify the template. See Settings & Controls.

Default Bindings (Basic Template)

Main layer (in-game)

Action Button Mode
MoveLeft stickHold
LookRight stickHold
JumpAHold
Sneak (hold)R-stick clickHold
Sneak (latch)R-stick clickDouble Toggle
SprintL-stick clickHold
AttackRTHold
Use / PlaceLTHold
DropD-Pad ↓Press
Drop stack (combo)R-stick click + D-Pad ↓Press
InventoryD-Pad ↑Press
PerspectiveD-Pad →Tap
Hotbar prev / nextLB / RBTap
Pause menuStartLong Press
Open settingsBack + StartPress
Radial menus 1–5Back(on Shift 1–4, hold Back for menus 2–5)Hold
Shift layer 1 / 2LB / RBHold
Open guideGuidePress

Screen layer (whenever a screen is open)

Action Button Mode
Cursor moveLeft stickHold
Slot navigationD-PadHold
Confirm / clickAPress
Back / closeBPress
Tab prev / nextLB / RBPress
Quick move (shift-click)YTap
Take halfXPress
ScrollR-stick ↑ / ↓Hold
Cycle optionsR-stick ← / →Tap
JEI recipe / usesRT + D-Pad ← / →Press

Overlay layer (interactive HUDs)

The Overlay layer is explicit (no Main inheritance): movement, jump, attack, use, look, and scrolling stay bound, with B as back. Unconfigured actions stay silent during overlays so combat keys cannot misfire.

Virtual KBM & Thresholds

These are the Basic template defaults. Bedrock and Recommend differ slightly, and every binding can be changed — see Settings & Controls for rebinding and calibration.