用途:当 TUI 需要读取按键、处理快捷键、支持鼠标、编辑文本、管理焦点或安全粘贴时使用本技能。
主要能力与原则:输入契约要求仅在交互式 TTY 会话进入 raw 或 cbreak 模式,为脚本、管道和 CI 提供非交互替代方案;输入解码与业务动作分离;所有操作可用键盘触达;鼠标作为可选渐进增强;保留终端预期快捷键,除非用户可重绑定。
Raw 模式:会禁用行规程并改变信号行为,需集中管理并可靠恢复,验证 Ctrl-C、Ctrl-Z/挂起、EOF、resize、终端关闭与致命异常;密码与令牌不得回显。
快捷键设计:应可发现、一致且避免冲突,为常用操作提供可见帮助;q、Esc、Ctrl-C 仅在符合工作流风险时用于退出/取消;破坏性操作需确认,不可逆操作需更强确认;避免抢占常见终端、shell、编辑器与复用器快捷键,除非可配置;区分全局与聚焦控件快捷键。
焦点模型:每个交互元素需有稳定标识、焦点资格规则、不依赖颜色单独的可见焦点指示、Tab/Shift-Tab 或方向键导航,以及禁用、隐藏、模态与嵌套控件的明确行为;鼠标点击应先更新焦点再激活。
粘贴与鼠标安全:为 shell、编辑器、命令面板和多行输入启用括号粘贴,解析粘贴起止标记并将粘贴文本视为数据而非命令序列;鼠标输入需按当前布局校验坐标,忽略 resize 后的过期事件。
常见失败模式:Esc 延迟多因解析器等待区分 Alt 前缀,可调超时或用框架协议支持;Ctrl-C 不退出因 raw 模式吞掉信号,需显式映射并恢复终端;粘贴触发动作因未启用括号粘贴或按按键处理,需启用协议并按文本路由;鼠标点错行因 resize 或滚动后布局过期,需按当前视口校验坐标;焦点消失因移除控件后无回退,需计算下一个合格焦点目标。
参考文件:references/input-protocols.md 提供键盘、鼠标、粘贴、焦点与 resize 事件细节;references/keybinding-design.md 提供快捷键设计、冲突避免与表单/编辑器相关内容。