NXTKB 的 Codex Micro 兼容功能,让 Ferris Sweep 和 Sweep Pro 都能在不离开键盘的情况下管理 ChatGPT 对话。你可以切换六个对话、批准或拒绝操作、把当前对话分叉为新对话、使用电脑麦克风输入,以及发送消息;带墨水屏的 Sweep Pro 还会显示对话状态。
你可以用它做什么
这些功能不是普通的系统快捷键。键盘和 ChatGPT 之间有一条双向连接:键盘把你的操作发送给 ChatGPT,ChatGPT 再把六个对话的状态传回键盘。它可以通过 USB 或蓝牙工作,不需要 Work Louder Input,也不会替代键盘原有的打字、鼠标、触控板或 ZMK Studio 功能。无屏幕的 Ferris Sweep 接收状态但不显示它们。
开始之前
- 在电脑上安装并登录 ChatGPT 桌面应用。
- 确认键盘已刷入带 Codex Micro 支持的固件。
- 使用 USB 数据线连接,或通过蓝牙重新配对键盘。
- 在 macOS 首次提示时,允许 ChatGPT 使用 Input Monitoring。
- 如果需要语音输入,同时允许 ChatGPT 使用电脑麦克风。
ChatGPT 第一次识别到兼容键盘后,可以在 Settings → Codex Micro 中配置六个 Agent 键跟随哪些对话,以及单击是否直接把 ChatGPT 带到前台。更多原版功能行为可以参考 OpenAI 的 Codex Micro 说明。
如何进入 Codex 层
- 同时按住拇指区左右两个 Tab 层键,进入 FUN 层。
- 按 I,切换到 CODEX 层。
- 松开层键后,Codex 层会继续保持;按 P 退出。
I 是 Codex 层入口。FUN 层上的 O 仍然是系统静音键,不会和 Codex 入口冲突。进入后,普通字母键会临时变成下面的 Agent 和命令按键,因此需要打字时请先按 P 退出。
Codex 层键位
| 按键 | 功能 | 使用方式 |
|---|---|---|
| Q W E R T Y | Agent 1–6 | 切换或聚焦对应的 ChatGPT 对话 |
| A | Approve | 批准当前等待确认的操作 |
| S | Split chat | 保留当前上下文,并在一个新对话中继续 |
| D | Decline | 拒绝当前等待确认的操作 |
| F | Fast | 切换当前对话的 Fast 模式 |
| H | Push-to-talk | 按住说话;快速双击可锁定录音 |
| J | Send | 发送当前输入 |
| P | Exit | 退出 Codex 层,恢复普通键位 |
六个 Agent 键如何工作
Q 到 Y 对应 Agent 1 到 Agent 6。默认情况下,它们跟随最近更新的六个 ChatGPT 对话,不要求对话已经固定。你也可以在 ChatGPT 的 Codex Micro 设置中选择最近、固定、优先或自定义分配方式。
- 单击一次:切换到对应对话,但默认不抢走当前应用的焦点。
- 350ms 内双击:切换对话并把 ChatGPT 窗口带到前台。
- 单击即聚焦:可以在 ChatGPT 的 Codex Micro 设置中开启。
六是键盘提供的快捷槽位数量,不是 ChatGPT 只能保存六个对话。其他对话仍然保留在 ChatGPT 中,只是没有同时映射到这六个物理按键。
语音键没有内置麦克风
H 控制的是电脑上的 ChatGPT 语音输入。键盘本身没有麦克风,所以录音质量和权限取决于电脑内置麦克风、耳机或外接麦克风。
- 按住 H 说话,松开后结束。
- 在 350ms 内快速按两次,可以锁定录音,不必一直按住。
- 录音锁定后再按一次 H,停止录音。
如果按键有反应但没有声音输入,请先检查系统的麦克风隐私权限和 ChatGPT 当前选择的输入设备。
Agent 状态与墨水屏
带墨水屏的 Sweep Pro 会显示类似 A2 1I 2W 3N 4? 5! 6- 的状态行。A2 表示当前选中 Agent 2;后面的 1–6 分别对应六个 Agent 键。墨水屏只在状态改变时刷新,因此静止不闪烁是正常现象。
无屏幕的 Ferris Sweep 使用相同的 Agent 和动作按键,但不会在键盘上显示状态;请直接在 ChatGPT 桌面应用中查看当前对话。没有屏幕不会影响 Codex 控制。
| 屏幕符号 | ChatGPT 状态 | 含义 |
|---|---|---|
- | 未分配 | 这个 Agent 键当前没有跟随对话 |
I | Idle | 对话空闲 |
W | Thinking | ChatGPT 正在工作 |
N | Complete | 任务完成,并且有未读更新 |
? | Requires input | 需要你的批准或回复 |
! | Error | 对话执行出错 |
U | Unknown | ChatGPT 返回了固件尚未识别的新状态 |
原版 Codex Micro 使用白、蓝、绿、琥珀和红色灯光表达这些状态。Sweep Pro 的墨水屏把它们转换成字符,使状态在低功耗黑白屏上仍然清楚可读。
USB、蓝牙与多台电脑
Codex 控制会自动跟随键盘当前选中的输出端点。你不需要再为 ChatGPT 单独切换一次:用键盘原有的 USB/蓝牙输出切换键或蓝牙 profile 键选择电脑后,Agent 按键和可用的显示状态也会一起切换。具体设备切换键位可以查看 Ferris Sweep 或 Sweep Pro 键位说明。
- USB:适合固定桌面,延迟低,也不依赖电池。
- 蓝牙:Codex 控制和普通键盘输入共用当前蓝牙 profile。
- 多台电脑:每台已连接电脑保留自己的六个 Agent 状态;切回时恢复该电脑最后一次状态。
- 其他电脑不会被断开:切换输出只改变按键当前发送到哪里,不会主动断开仍连接的 USB 或蓝牙设备。
如果 USB 和蓝牙同时连接到同一台电脑,系统可能看到两个 Codex 接口,但按键仍只跟随当前选中的键盘输出。通常可以正常共存;如果 ChatGPT 反复重连,暂时断开不使用的那条连接有助于确认问题来自哪一路。
为什么蓝牙升级后需要重新配对
电脑会缓存蓝牙键盘提供的功能描述。第一次刷入带 Codex 蓝牙支持的固件后,旧配对记录可能仍把键盘当作普通键盘,因此仅关闭再打开蓝牙通常不够。
- 在电脑的蓝牙设置中忽略或删除旧的键盘。
- 在键盘上切换到对应蓝牙 profile,并清除该 profile 的配对。
- 重新进入配对状态,在电脑上重新连接。
- 打开 ChatGPT,等待它检测并连接 Codex Micro 兼容接口。
这个步骤通常只在首次启用该功能,或固件更新改变蓝牙功能描述时需要执行。
连接失败或按键无响应
按这个顺序检查
- 确认正在使用 ChatGPT 桌面应用,而不是浏览器网页。
- 确认键盘当前输出选择的是这台电脑。
- 重新进入 Codex 层:按住两个 Tab 层键,再按 I。
- 在 macOS 中确认 ChatGPT 已获得 Input Monitoring;语音还需要麦克风权限。
- USB 模式下换一条确定支持数据传输的线,并重新插拔。
- 蓝牙模式下按上一节完整删除旧配对并重新配对。
- 暂时退出 Karabiner、键盘重映射器或可能拦截 HID 的安全软件。
- 退出并重新打开 ChatGPT;仍不工作时重启电脑。
如果 ChatGPT 显示“found your Codex Micro but couldn't connect”,通常表示系统已经识别到兼容接口,但双向通信没有建立。此时重点检查权限、旧蓝牙配对、HID 拦截软件和是否选择了正确的键盘输出,而不是反复按 Agent 键。
如果只有麦克风键不工作,优先检查麦克风权限。如果只有墨水屏状态没有变化,先在 ChatGPT 中确认六个 Agent 键已经分配对话,并确认键盘当前选中的正是运行 ChatGPT 的那台电脑。
连接背后的简单原理
Ferris Sweep 系列通过操作系统的 HID 设备通道与 ChatGPT 桌面应用通信。键盘向上发送 Agent 和命令按键的按下、松开事件;ChatGPT 向下发送连接状态和六个对话的状态。USB 和蓝牙承载的是同一类双向消息,所以两种连接可以提供一致的 Codex 操作体验。
当前兼容层只处理完成这些功能所需的按键动作和状态,不把对话正文、提示词或代码内容显示或保存到键盘。它也不会赋予键盘额外的 ChatGPT 账户权限;所有实际操作仍由已经登录的 ChatGPT 桌面应用执行。
当前支持范围
| 功能 | 支持情况 |
|---|---|
| 六个 Agent 对话键 | 支持 |
| Approve、Split chat、Decline、Fast、语音、Send | 支持 |
| 单击、双击、长按和按键松开 | 支持,由 ChatGPT 解释 |
| USB 控制 | 支持 |
| 蓝牙控制与多 profile | 支持 |
| 墨水屏 Agent 状态 | Sweep Pro 支持;无屏幕 Ferris Sweep 不显示 |
| Codex Micro 模拟摇杆与旋钮自定义 | 不适用于当前 Ferris Sweep 系列键位 |
| 完整 RGB 灯效编辑与设备固件更新 | 不支持 |
Ferris Sweep 与 Sweep Pro 都覆盖了完整的控制流程:连接当前电脑、进入 Codex 层、选择六个对话并执行常用命令;Sweep Pro 额外通过墨水屏显示 ChatGPT 是否正在工作、等待输入或已经完成。