斜杠不是普通字符,而是意图信号 中文输入者经常在日常聊天、英文检索、代码输入和 vibe coding 之间切换。斜杠恰好是这些场景的边界动作:输入路径、命令、Markdown、代码或 Agent 指令时,/ 可能变成中文顿号 、;也可能斜杠已经出现,后面的英文仍被当成拼音。调用 command 或 skill 后按回车,还可能先提交多余的输入法组合文本,直接影响命中。 这个问题的关键不是如何预测用户下一秒要用哪种语言,而是识别一个足够明确的意图信号。按下物理斜杠,通常意味着接下来进入 ASCII 语境。它比当前应用、网站或输入框类型更直接,也不需要用户额外做一次切换判断。 用快捷键先切输入法会打断节奏,重新模拟 / 又可能吞键、重复或改变组合键语义。更常见的输入法切换器按整个应用绑定输入源,但聊天、搜索、编辑器和 Agent 输入框之间频繁换焦点时,这个粒度太粗,不符合日常交替使用的场景。 Slash Saver 把契约收窄到一个物理按键。被动事件监听看到 ANSI 斜杠键后,在回调中同步选择用户配置的 ASCII 输入源,再把原始事件原样放行。已经是目标输入源时不做任何事,也永不自动切回中文。它不试图理解所有输入场景,只用最小改动解决斜杠之后应当进入英文输入的问题。 为什么不是改造现有工具 BetterTouchTool 可以承担临时规则,但为了一个动作常驻整套自动化工具不够克制。Karabiner-Elements 能覆盖更多底层键盘场景,但需要驱动与多个后台组件。Input Source Pro 的核心是按应用和网站自动切换,保留它意味着继续背负与这个规则无关的产品逻辑。 最终实现是一个小型 Swift 与 AppKit 工程。它没有 Dock 图标和菜单栏图标,使用 SMAppService.mainApp 管理登录启动,并在首次运行时从系统当前启用的 ASCII 输入源中选择目标,不硬编码 ABC 或 U.S.。 输入与隐私边界 事件 tap 使用 listenOnly,原始按键始终放行。 只匹配物理键码 kVK_ANSI_Slash,并排除 Command、Control、Option 与按键重复。 不记录字符、应用名、文档或输入历史,不联网,也不模拟键盘事件。 斜杠处理路径不激活其他应用,不创建临时窗口,也不改变焦点。 App Sandbox 关闭,因为实际测试中,沙盒内的输入源切换可能只更新菜单栏状态,无法更新当前文本客户端。 发布结果 v1.0.1 提供 arm64 + x86_64 通用构建、SHA-256 校验文件、GitHub Actions 测试和独立产品页。本次版本重新设计了深绿与黄绿色图标,收紧原生设置界面的层级,并把产品叙事从泛化的输入法切换,聚焦到斜杠触发的三种具体摩擦。应用使用 Apple Development 证书签名并启用 hardened runtime,但尚未经过 Apple 公证,因此首次打开可能需要右键应用并选择「打开」。 下载、安装与权限恢复说明见独立产品页。