
control-flex (控制器支持)
Control Flex 是一个专为中大型整合包设计的控制器模组。
查看大图
Control Flex 是一个为 Minecraft Java 版设计的客户端控制器模组,专为需要完整手柄支持,尤其是在原版键位绑定不够用的整合包中游玩的玩家打造。
主要功能
Control Flex 通过一套灵活的绑定系统,将你的手柄映射到 Minecraft 和模组操作上:
- 六种触发模式 — 按下、松开、长按、轻按、长按、切换
- 六个层 — 主层、Shift 1-4 层 和 GUI 层(菜单打开时有独立绑定)
- 组合键 — 将多个按钮绑定到一个操作
- 径向菜单 — 最多 5 个菜单 × 8 个槽位(按键、指令、快捷栏物品)
- 视角与光标 — 右摇杆视角、虚拟鼠标、可选的槽位吸附
- 震动 — 按伤害类型配置震动反馈
- 模组兼容性 — 自动发现并绑定模组的按键绑定;支持 JSON 配置层规则
附带的模板(Basic, Bedrock, Recommend)可助你快速上手。自定义模板可通过 JSON 文件添加。
一、六种触发模式 — 一个按钮,多种行为
每个绑定将哪个按钮与如何触发配对。ControlFlex 支持六种触发模式,因此同一个按钮可以针对不同操作执行轻按、长按、切换或松开等不同行为。
| 模式 | 触发时机 | 典型用途 |
|---|---|---|
| 按下 | 按钮按下时 | 一次性操作、切换、打开菜单 |
| 松开 | 按钮抬起时 | 层返回、“松开时”操作 |
| 长按 | 按住期间 | 移动修正、持续使用、Shift 层切换 |
| 轻按 | 短按(低于阈值) | 快速操作,避免误触成按住 |
| 长按 | 按住超过阈值 | 同一按钮的次要功能 |
| 切换 | 按一下开启,再按关闭 | 持续状态切换(潜行、疾跑、视角切换) |
轻按和长按的阈值可在其他设置中全局配置(100-2000 毫秒)。切换模式类似于电灯开关 — 按一下激活,再按一次取消激活 — 非常适合用于疾跑、步行模式或视角切换等持续状态。主层上的层切换键设计为长按模式;Shift 层上的返回主层行使用松开模式。径向菜单的打开绑定支持按下和长按(轻按打开 vs. 按住保持打开)。
在不同层之间混合使用模式:长按 LB 切换到 Shift 1 层,轻按 X 键发送信号,长按 Y 键触发坐骑/下马模组按键 — 所有这些都可在同一个手柄布局上实现。
二、六个层 — 无需更多硬件,让按钮数量倍增
标准手柄大约有十几个面部和肩部按键;而一个整合包可能就有数百个操作。Control Flex 通过六层绑定模型解决了这个问题,使一个物理按钮可以根据上下文代表不同的操作。
主层 是你的默认游戏映射 — 移动、战斗、背包、快捷栏以及日常使用的模组操作。
Shift 1-4 层 是修饰层。按住主层上的层切换绑定(例如 LB、RB 或 Back 键)可以临时激活 Shift 1-4 层,每层都有自己完整的绑定表。Shift 层上未分配的槽位会继承主层对应的绑定,因此你只需覆盖需要的部分。松开切换键后会自动返回主层。
GUI 层 会在打开任何界面时激活 — 箱子、合成台、模组 UI 以及 Control Flex 设置等。确认、返回、切换标签、滚动以及容器辅助操作(快速移动、分出一半等)都放在这里,与游戏世界中的控制分开,因此打开菜单不会与你的游戏绑定键冲突。
六层布局共同将一个有限的手柄变成了一种深入的控制界面:在主层行走,长按 LB 获得战斗扩展,长按 RB 获得实用功能绑定,打开背包时立即获得一个清晰的 GUI 映射 — 无需重新插拔或切换配置文件。
三、组合键 — 面向高级玩家的和弦键
当一个按钮不够用时,可以将多个按钮组合在一起作为一个操作 — 例如 LB + Back 或 LT + A。
绑定组合键 在捕获期间,按下第一个按钮,然后在 500 毫秒 内添加更多按钮。界面会显示完整的和弦键;所有按钮都必须匹配才能触发操作。
适用于所有触发模式 组合键支持按下、松开、长按、轻按、长按和切换模式 — 规则与单键绑定相同。
智能组合键引擎
- 升级规则: 激活一个更大的组合键(例如 A+B+Y)会清除当前激活的较小组合键(例如 A+B),确保行为可预测。
- 按钮共享: 一个物理按钮可以通过引用计数参与多个组合键。
- Shift + 组合键: 先按住 Shift 修饰键,然后在该层按下和弦键 — 这对于径向菜单和无需占用主层槽位的进阶布局非常有用。
组合键是将“整合包密度”塞入手柄的方式:稀有操作不会占用主要面部按键,直到你有意地演奏和弦键来触发它们。
四、径向菜单 — 八个槽位,五个轮盘,无需深挖菜单
径向菜单为你提供最多五个独立轮盘,每个轮盘在摇杆周围有最多八个槽位 — 打开轮盘,用摇杆瞄准,按 A 键确认(默认值因模板而异)。
槽位的功能
- 按键绑定 — 触发原版或模组的按键绑定
- 聊天指令 — 执行
/...(宏、回家、传送等) - 使用物品 — 切换到并使用快捷栏中的物品(例如火把、食物、工具)
如何打开 每个菜单都有自己的打开绑定。按下 = 轻按打开(松开不会关闭)。长按 = 保持打开按钮按住;松开则关闭。菜单 2-5 可以放在 Shift 层上,使主层保持整洁。
自定义
- 选择摇杆:左、右或两者
- 图标:自动、随机、默认、物品 ID 或自定义纹理路径
- 布局保存在
config/controlflex/radial_menu/radial_menus.json - 游戏内编辑器:选择图标、重新排列槽位、设置每个菜单的触发模式
径向菜单是你频繁使用但又不想放在固定按钮上的物品和指令的快速通道 — 吃东西、放置火把、执行 /home、触发 JEI 或 Minemenü 风格的快捷键,所有操作都无需每次都打开完整的物品栏或聊天框。
五、视角与光标
- 右摇杆视角,灵敏度可配置,支持 Y 轴反转
- 模拟鼠标 模式将视角控制路由到鼠标管线(对 Epic Fight 等战斗模组有用)
- 虚拟光标 在打开界面时用左摇杆驱动 GUI
- 可选的槽位吸附 实现精确的容器定位
六、震动
按伤害类型配置震动反馈 — 多种波形模式、每种伤害类型的设置以及轻/中/重击的强度等级。
七、模组兼容性
启动时会自动发现并绑定模组的按键映射,并将其暴露为可绑定的操作 — 绝大多数模组无需额外配置即可正常工作。JSON 配置文件支持为特定模组设置层规则和特殊标志(例如 GLFW 兼容轮询,GUI 打开时的相位保持按键)。
如果某个模组的按键绑定没有出现或行为异常,有两种解决方法:
- 兼容性 JSON — 创建或查找一个声明式的 JSON 配置文件,告诉 Control Flex 如何处理该模组的按键(层分配、事件抑制、特殊标志等)。请查看社区维护的兼容配置库 ControlFlexMC/cfx-compat-configs — 它们为需要特殊处理的模组提供了现成的 JSON 补丁。欢迎提交新的模组配置的 PR。
- 桥接模组 — 对于需要更深层次集成的模组(自定义输入系统、运行时状态检测、原始手柄输入),请使用
IControlFlexPluginSPI 编写一个桥接模组。桥接模组可以导出兼容 JSON、推送玩家状态,并响应控制器生命周期事件。请参阅 ControlFlexMC/control-flex-api 的 API 仓库和 ControlFlexMC/cfx-compat-epicfight 的示例桥接模组。
八、模板与配置文件
附带的布局:Basic, Bedrock, Recommend。从游戏内设置中切换模板;将自定义 JSON 文件放入 config/controlflex/templates/ 以添加你自己的模板。每个模板的用户数据存储在 config/controlflex/profiles/ 下。
Windows 和 macOS 已内置 SDL3 — 无需单独安装。
支持的 Minecraft 版本和加载器:
- 1.20.1 — Forge, Fabric
- 1.21.1 — NeoForge, Fabric
- 1.21.11 — NeoForge, Fabric
- 26.1.2 — NeoForge, Fabric
- 26.2 — NeoForge, Fabric
正在加载版本记录…





正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。