输入法来回切换很麻烦,请问 windows 下有啥好用的自动切换工具吗

201 天前
 fengxuejianshi

RT 把你们压箱底工具发出来吧

6091 次点击
所在节点    程序员
64 条回复
cnbatch
201 天前
Shift + ALT 切换已经很方便了吧
niboy
201 天前
输入法我一般就按 Shift 切换中英文......
laobaiguolai
201 天前
反正就是 ctrl+shift ,要输英文就按一下 shift ,这。。。没必要用辅助工具了吧
loveour
201 天前
先问一下是为什么要切换,具体的需求是什么?以及切换不就是快捷键吗,还要怎么才能更便捷?如果只是中英文切换很多输入法一个 shift 就搞定,已经很快了。
luis330
201 天前
只使用小狼毫,不切换,默认中文,需要使用英文时只按一次 Shift 。
flyfanc
201 天前
autohotkey
Sawyerhou
201 天前
用过几个这类软件,最终还是觉得手动切最顺。
JamesR
201 天前
@cnbatch #1 每次全屏游戏前都要 Shift + Alt ,不然卡输入法,需要个自动切换功能。
Gilfoyle26
201 天前
直接用英文,输入法都不需要安装
cheng6563
201 天前
@JamesR #8 默认设置为英文
spritecn
201 天前
把 capslock 映射到 Right_shift
explorerproxy
201 天前
https://github.com/flyinclouds/KBLAutoSwitch
不过我用他是为了能 caps 固定切英文,shift 固定切中文
loading
201 天前
脚踏,踩的时候发送 ctrl+space ,开启输入法,松开也发送 ctrl +space ,可以实现踩着输入中文,松开输入英文。编程时体验还行。
grady8866
201 天前
小狼毫可以在配置文件中设置特定程序默认是中文还是西文输入,够用了。
iorilu
201 天前
@loading 脚踏专门为了干这个? 搞得和打鼓一样阿
chutsetien
201 天前
遇到这种问题是不是因为没有把 Advanced keyboard settings 中的 ‘Let me set a different input method for each app window’ 开开,以至于输入法的切换是全局的,因此需要不停地来回切换?

这一设定的位置如下:

Windows 8 / 8.1; Server 2012 / 2012 R2


Windows 10; Server 2016/19/22


Windows 11; Server 2025

再之前的 Windows 版本预设的输入法切换就不是全局而是单视窗的,因此无需设定。
loading
201 天前
@iorilu #15 有 3 个键,应用还在打磨。
cnbatch
201 天前
@JamesR 按照楼上列举的步骤设一下不同窗口不同输入法就好了,默认英语,需要时再切换成中文
iX8NEGGn
201 天前
楼上很多人没明白 OP 的需求,解释下,因为输入法中英文状态默认由应用自己维护,应用切来切去后就忘了当前状态,或即使设置为全局状态,一段时间后也会忘记,打字前总得看下右下角输入法状态,很烦。

推荐几个我用过的解决方法:

1. 根据当前是中文还是英文状态,打字光标处显示两种不同颜色的小圆点,推荐一个软件,叫 RedDot ,体验还不错,但它不开源,有个开源的类似软件叫 language-indicator ,但各种应用的光标位置识别没有 RedDot 准。

2. 设置两个不同的快捷键,第一个始终是英文,另一个始终是中文,这样无需理会状态,有现成软件,比如 KBLAutoSwitch ,也可以自己用 Autohotkey 写几十行代码搞定。

3. 有些输入法支持切换应用后,始终是某一状态,如果有需要自己再切为另一个状态,比如楼上提到的小狼毫?


顺便给下我在用的 Autohotkey 代码,应该支持绝大部分输入法:

#Requires AutoHotkey v2.0

SwithInputMethodTo(method := "en")
{
DetectHiddenWindows(true)
hWnd := WinGetID("A")
hIME := DllCall("imm32\ImmGetDefaultIMEWnd", "UInt", hWnd, "UInt")

id := 0
if(method == "zh")
{
id := 1025
}
SendMessage(0x283, 0x002, id, , "ahk_id " hIME)
}

;CapsLock v ,切换到输入法英文状态
CapsLock & v::
{
SwithInputMethodTo("en")
}

;CapsLock n 切换到输入法中文状态
CapsLock & n::
{
SwithInputMethodTo("zh")
}
prosgtsr
201 天前
@loading 钢琴家啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1111237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX