【自荐】输入法快捷切换:给多输入法用户的一把小钥匙

如果你和我一样,Windows 里装了不止一个输入法,比如微软拼音、搜狗、五笔、自己折腾的 TSF 输入法,日常在 VSCode、浏览器、聊天软件之间来回切,经常会遇到一个小麻烦:

想要的不是"切到上一个输入法",而是"准确切到某个输入法,并且最好直接进入中文或英文状态"。

于是我写了一个小工具:输入法快捷切换

项目主页:
Releases · sxzxs/Automatic-input-method-switching

它能做什么

这个工具可以给不同输入法配置独立快捷键。按下快捷键后,它会尽量精确切换到指定输入法,并可选择是否强制进入中文或英文状态。

比如可以这样设置:

  • Ctrl + Alt + 1:切到搜狗拼音,中文状态

  • Ctrl + Alt + 2:切到 Xupin 输入法,中文状态

  • Ctrl + Alt + 3:切到英文键盘,英文状态

这样就不用反复按 Win + Space 或 Ctrl + Shift 猜当前轮到哪个输入法了。

主要特点

  • 支持 Windows TSF 输入法枚举
    不只是普通键盘布局,也能识别搜狗、微软拼音、自定义 TSF 输入法等。

  • 支持指定中文 / 英文状态
    可以配置"不改变 / 中文 / 英文"。

  • 支持全局快捷键
    配好后在 VSCode、浏览器、聊天窗口里都可以使用。

  • 有 ImGui 设置界面
    可以添加、删除、修改快捷键绑定。

  • 托盘常驻
    关闭窗口不会退出程序,仍然在后台保持快捷键生效。

  • 漂亮的切换提示
    切换后会在输入光标附近显示简洁提示,比如"中文"“英文”。

  • 支持 VSCode 光标定位
    对 Electron / Chromium 类编辑器使用了更稳的光标定位方案,提示不会总是乱飘到鼠标附近。

为什么做这个

Windows 自带的输入法切换逻辑更像"轮换",对只装一两个输入法的人还好,但输入法多了以后就很难精准控制。

尤其是同时使用多个中文输入法时,经常会出现:

  • 明明想切搜狗,却切到另一个中文输入法

  • 想切英文,但输入法还开着中文模式

  • 不同软件里的输入法状态不一致

  • VSCode 里提示位置拿不到真实光标

这个工具就是为了解决这些日常小摩擦。

使用方式

  1. 运行程序。

  2. 打开设置界面。

  3. 点击"刷新输入法"。

  4. 添加绑定,选择输入法和模式。

  5. 设置快捷键。

  6. 点击"保存并应用"。

之后就可以直接用快捷键切换了。

注意事项

  • 中文 / 英文状态依赖具体输入法支持,不同输入法行为可能略有差异。

  • 某些程序权限较高时,可能需要用相同权限运行本工具。

  • 如果输入法列表不完整,可以尝试重新扫描输入法,或重启程序。

适合谁

这个工具比较适合:

  • 装了多个输入法的人

  • 经常在中文 / 英文之间切换的人

  • 写代码时常被输入法状态打断的人

  • 使用自定义 TSF 输入法的人

  • 不想再靠 Win + Space 盲切的人

目前还是一个偏实用向的小工具,欢迎反馈问题或建议。

2 个赞

这个好欸,以前也想过这么一个工具,现在已经把能卸的都卸了也还有五个输入法hhhh

话说默认键位会不会有点容易冲突? ctrl + alt + 数字键好像有点常见了

如果只是切输入法的话,倒是系统自带了快捷键设置

可以使用 Alt+Shfit+数字或者Ctrl+Shfit+数字切换。

冷知识:用鼠标点几下也可以切换哟

比起常驻后台,更想要一个通过命令行参数切换的工具

好用的很,请加入自动启动,以及启动后自动缩小到任务功能。

我的方案,输入法设置快捷键(系统自带功能),AHK写了一个脚本,短按按键执行切换输入法快捷键,长按执行按键原本功能,这样不会全局占用按键。