Controlling
[!INFO] Git Commit:
4edacf7| Updated: 2026-08-05
Controlling 是一个纯客户端的 Forge 1.7.10(GTNH fork)增强 mod,用来改造原版的按键设置界面。
它不注册任何方块、物品、实体,也没有自己的按键——真正的能力来自它对原版
net.minecraft.client.settings.KeyBinding 的 Mixin 补丁:由此让所有按键绑定
(原版的以及其他 mod 注册的)都获得一个额外的修饰键字段,从而支持 Ctrl + G 这类组合键。
主要特性:
- 组合键:每个按键可附加 Ctrl / Shift / Alt 三选一的修饰键,左键与右键键自动合并为同一逻辑修饰键;
- 按键搜索:按键列表支持按分类名、按键名、当前键(含修饰键)搜索,命中处高亮;
- 过滤与排序:只显示未绑定按键、或只显示冲突按键,可按 A→Z / Z→A 排序;
- 冲突可视化:区分"完全重复"的红色冲突与"同键不同修饰键"的金色轻度冲突;
- 可视化键盘:浮层面板点选完成绑定,含主板 / 小键盘 / 辅助键三页与修饰键切换按钮, 无需真的去按键盘(面板代码改编自 Keyboard Wizard,MIT 许可);
- 配置持久化:修饰键以第三字段写入
options.txt的按键行,与原版两字段格式完全兼容。
与 ModernKeybinding(modid
mkb)互斥:同时安装会在启动时抛出IllegalStateException, 因为 Controlling 已内置组合键支持。
热键列表
- 组合键绑定 - 附着到每个
KeyBinding的两个修饰键字段、硬/软冲突判定、options.txt持久化格式 - 修饰键枚举 -
KeyModifier全部 4 个取值(None/Ctrl/Shift/Alt)、左右键合并规则与多修饰键同时按下的优先级 - 输入管线补丁 - 对原版
setKeyBindState/onTick/getIsKeyPressed/isPressed的注入,以及裸键被兄弟组合键压制的规则 - 键位搜索与过滤 -
DisplayMode(3) /SearchType(4) /SortOrder(3) 全部取值与搜索高亮规则 - 可视化键盘 -
Page(3) 三页键位布局、修饰键按钮、键位颜色状态优先级、lwjgl3ify 标签兼容