功能详解
触发模式
每个绑定由“哪个键”和“怎么触发”两部分组成。Control Flex 提供 10 种触发模式,同一颗按键可以同时承担轻按、长按、按住、切换与双击行为。
十种模式
| 模式 |
触发时机 |
典型用途 |
| Press | 按下瞬间触发一次 | 一次性动作、开关类操作 |
| Release | 松开瞬间触发一次 | Shift 层返回 Main、“松手生效”的动作 |
| Hold | 按住期间持续激活 | 移动 / 视角、持续使用、层切换键 |
| Tap | 短于 Tap 阈值的按下并松开时触发一次;按住超过阈值则松开时不触发 | 不误触发长按的快速动作 |
| Long Press | 按住超过 Long Press 阈值后触发一次 | 同一按键的第二功能(如暂停菜单) |
| Toggle | 第一次按下激活并保持,第二次按下释放;与按键是否按住无关(RELEASE 事件被忽略) | 疾跑、走路模式、视角等持续状态 |
| Double Press | 在 Tap 窗口内第二次按下,按下即触发一次(不锁存) | 与 Hold / Press 共用一颗键的额外单击 |
| Double Tap | 两次短按,在第二次松开时触发一次 | 不抢占第一次点击的确认类动作 |
| Double Hold | 先短按,再在 Tap 窗口内按住;按住期间保持激活 | “轻点再接长按”才触发,防误触 |
| Double Toggle | 与 Toggle 相同的锁存,第二次轻按(松开时)翻转 | 和 Hold 版本共用一颗键的锁定切换(Basic 模板的潜行就是这种搭配) |
阈值与时间窗口
- Tap 与 Long Press 阈值:全局设置,范围 100–2000 ms,位置在其他设置。它们同时作用于所有绑定与模板。
- Tap 阈值也是所有双击模式的间隔上限:连按、连点、连按住、连点切换都用它作为两次按键之间的最大间隔。
- 默认值:Tap 500 ms、Long Press 1000 ms(来自 Basic 模板)。
怎么改模式
- 在按键映射里,模式列可以循环切换常用模式(Press / Hold / Tap / Long Press)。
- 模板与 compat JSON 支持全部 10 种,写法为
button|MODE,例如 buttonA|HOLD、rightStickClick|DOUBLE_TOGGLE;模式 token 为 PRESS / RELEASE / HOLD / TAP / LONG_PRESS / TOGGLE / DOUBLE_PRESS / DOUBLE_TAP / DOUBLE_HOLD / DOUBLE_TOGGLE。
- 部分动作限定模式:层切换键固定 HOLD,Shift 层返回 Main 固定 RELEASE,径向菜单的打开绑定支持 PRESS 与 HOLD。
搭配实例
| 按键 |
绑定 |
效果 |
| 右摇杆按下 |
HOLD + DOUBLE_TOGGLE |
按住潜行,双击锁定潜行(Basic 模板默认) |
| Start |
LONG_PRESS |
长按打开暂停菜单,短按不触发 |
| D-Pad → |
TAP |
轻按切换视角;意外长按不会切 |
把多个按键合成一个动作,见组合键;把切换状态固化进模板,见配置文件。