Windows 系统的中文输入法自洽能力就是一团糊

2022-01-24 01:07:28 +08:00
 solitude3985

都已经更新到 Windows 11 了,竟然还存在中英文输入法切换无法自洽的问题。

背景:不聊第三方输入法,毕竟不在微软的控制范围内。姑且只聊系统自带的微软输入法。

在目前的 Windows 里面,设计者提供的多语言输入方案是多键盘,选择语言后再选择键盘,并且使用 Win + Space 的方式在不同键盘之间切换,也就是说,用户如果想打中英文,可以通过添加以下键盘实现:

中文语言 - 中文输入法(全拼、双拼、五笔等键盘) 中文语言 - 英文输入法(美式 QWERT 键盘)

或者是同时添加:

中文语言 - 中文输入法(全拼、双拼、五笔等键盘) 英文语言 - 英文输入法(美式 QWERT 键盘)

同时由于初期的输入法限制,大部分中文输入法还依然支持在键盘内切换英文输出,于是你也可以只使用:

中文语言 - 中文输入法(全拼、双拼、五笔等键盘)

并通过 Shift 来切换中英文输入。

===

首先,这一套混乱的语言切换机制一直没有完善自洽,很多人(包括从业人员)还没搞懂键盘和语言之间的区别,导致切换语言 (Ctrl + Shift) 和切换 键盘 (Ctrl + Space) 这两个概念一直被混淆。

其次,我一直不能理解中文输入法为什么要支持英文输入?并且还导致明明可以打中文,却有很多程序(比如浏览器地址栏,重命名文件)会强行把中文输入法的中英开关重置成英文输出。明明系统已经决定要使用 Win + Space 来统一语言切换功能,没必要还继续保留一个向下 /因用户习惯兼容的 Legacy 功能,改打英文时用英文键盘,改打中文时用中文键盘,通过 Shift (输入法自定义的中英文切换快捷键)来切换中英文输出选项并不是规范操作,还劫持了一个重要的功能按键。

TLDR: 中文输入法不应该承担打英文的功能,这个功能就跟手机输入法内再内嵌一个输入法一样可笑,是旧系统的遗留陋俗。

2860 次点击
所在节点   输入法
14 条回复
kokutou
2022-01-24 01:28:29 +08:00
强行切英文是微软拼音的 feature 。。。
有个内置的进程列表,遇到了自动切英文。。。explorer cmd gvim 什么的。。。
dingwen07
2022-01-24 07:39:09 +08:00
macOS 的中文输入法也可以输入英文啊,在关闭 caps lock 切换输入法的状态下,在中文输入法下按一下 caps lock 就是输入英文
auvt
2022-01-24 08:10:10 +08:00
加一条,自带词库好像没法增加删除词?另外五笔顶格上字也没地方能设置……
kujio
2022-01-24 08:33:15 +08:00
ctrl+space 内置无法更改,也无法添加其他热键
一直觉得 capslk 是最佳的切换中英文的按键,但在 win 下很难实现,用 auto hotkey 模拟 capslk 按下为 ctrl+space 也有很多问题,
marcong95
2022-01-24 10:04:14 +08:00
中文输入法不能输入英文印象中才是 legacy 的吧(智能 ABC 年代),中英混打应该是紫光年代兴起的新功能(至于是不是微软拼音首创不清楚,03 版的微软拼音于我而言极其难用,所以印象不深)

中英混打的意义并不是说你在用中文输入法里面打英文。而是在中文里面使用拉丁字母表示的专有名词,如:苹果公司于发布了 iPhone 13 系列智能手机。这是一句中文句子,但是你需要输入 iPhone 这一拉丁字母表示的词语,这时候切换语言其实并不合理,因为自始至终你输入的还是中文。
solitude3985
2022-01-24 18:58:18 +08:00
@marcong95 所以 iOS 上面的自带输入法因为打 iPhone 需要切换输入法也属于设计不合理?
networm
2022-01-25 08:49:01 +08:00
这种问题不要指望 Windows 解决,估计到 Windows 22 都够呛。只能自力更生,自行解决问题。

面对这个问题我的解决方案是:
1. 使用非系统输入法小狼毫,关闭有切换中英文的快捷键(系统自带输入法虽然可以取消快捷键,但是在某些情况下会从中文切换为英文,然后又没有什么好的方法切换回中文)
2. 使用 Recaps 这款开源软件,支持 CapsLock 切换语言、Alt + CapsLock 切换大小写
经过这样配置后可以完美解决中英文状态的问题。

Windows 10 与 11 的托盘语言栏在切换到中文输入法时会显示额外的图标,这会导致托盘栏的所有图标位置发生变化。
配置为全局使用一个输入法还好,如果配置为“允许我为每个应用窗口使用不同的输入法”就会出现点击托盘图标时导致切换应用进而切换输入法,导致托盘图标位置发生变化,然后就会出现误点。
解决方案:
1. 勾选“使用桌面语言栏”,在“语言栏选项中”设置为“语言栏”为“隐藏”,这样就可以完美隐藏托盘语言栏。
2. 再配合 Recaps 显示当前输入法图标,拖到托盘最右侧显示,可以获得与托盘语言栏一样的效果。

[快速切换输入法 - 狂飙]( https://networm.me/2021/06/06/switch-ime-efficiently/)
networm
2022-01-25 08:50:12 +08:00
@kujio 在 Windows 下,Recaps 可以使用 CapsLock 切换中英文
kujio
2022-01-25 09:55:10 +08:00
@networm 谢谢,试了下好像只有切换输入法的功能。我还想要 capslk 代替 ctrl+alt ,就是单击 capslk 切换输入法,按住 capslk+任意键相当于 ctrl+alt+任意键,我用 auto hotkey 实现了,不过 auto hotkey 在某些软件下会被屏蔽。
marcong95
2022-01-25 10:10:04 +08:00
@solitude3985 #6 iOS 的自带拼音输入法我记得也是支持中英混输的吧,而且由于苹果对自家产品的大小写的纠结,甚至还会能输出正确大小写的 iPhone 。

不过我突然发现你说的似乎并不是中英混输的问题,而是单击 Shift 键可以切换中英文模式的问题。这个确实是有点混乱
solitude3985
2022-01-25 19:42:19 +08:00
@marcong95 对,如果要举例,就是你 iPhone 切换成中文输入法以后,既可以用小地球切换成其他语言,又给你放了一个按钮允许你在中文输入法内不输中文。

你说的混打没有意见,中英混打或者输入字母直接上屏很有必要,也就只有智能 abc 这种早期输入法不支持。
jinliming2
2022-02-03 10:51:00 +08:00
@solitude3985 我可能是经历过输入法的历史,所以觉得目前这样的设计没什么问题?
首先是键盘的问题,不同的语言不同的键盘,这个很好理解,输入中文就用中文键盘,输入英文就用英文键盘,输入西班牙文就用西班牙键盘。
然后是中文键盘可以输入英文的问题,这个的确如楼上所说是个 feature ,因为在中文环境中出现英文是完全正常的情况,中英混排是属于很常见的需求,并且在特定情况下,使用纯英文的内容也是很常见的(比如很多广告牌、公告标识都要中英文双语),当然也有用拼音代替英语的。可以说国内经过这么多年从小学开始的英文培训,英文在国内也算是较为通用的语言了。所以在中文输入法中能够临时切换到英文输入状态,不觉得很“理所应当”吗?
印象中很久以前,智能 ABC 的年代,貌似是不能输入英文的,那么要临时输入英文单词、句子、拼音标注,就必须要按快捷键切换输入法,如果系统中有多个输入法(双拼、全拼、五笔,甚至还有区位)就得切换好多轮,因为当年电脑都是共享的,一台电脑一群人用,所以存在多个不同的中文输入法适应不同人的习惯需求是很常见的。还记得以前要切换到英文输入法,按快捷键 3 次,再切换回中文全拼输入法,再按快捷键 2 次,如果不小心按多了,那再多按 4 次……如果系统中的输入法更多(比如还要输入其他语言什么的),就要切换更多次数。

最后,回到你的问题,为啥会有这么多种组合。
首先是键盘语言,因为要适应不同国家的特点,所以出了不同语言的键盘分类。那么在中国就是用中文键盘,你单独添加一个英文的键盘算是一个“满足需求,但非预先设计”的方案,为了个人需求,你也可以添加西班牙键盘、日语键盘等。
选择了键盘语言之后,就要选择具体键盘(输入法)了,不同语言下会根据这个语言的特点推荐不同的输入法,但由于英文算是全球通用,所以也会有纯英文输入法。然后在中文输入法中切换英文输入是特定 feature 。
所以这个设计是比较明确的:语言>输入法>功能,不同语言、不同输入法下面的功能可能会有重合。

注:即便如此,也推荐为英文输入使用 英语(美国)的 QWERTY 键盘,因为部分游戏会假定这个键盘,如果你没有使用这个键盘的话,就会强行给你临时增加这个键盘(重启系统后消失)。但这个应该跟微软没关系,是游戏的问题……
caryRowen
2022-02-03 11:15:00 +08:00
补充一条微软的罪状,ctrl + space 切换中英文(不可更改),但当我使用 ctrl+alt+Space (选中 /取消选中多选列表项)的时候会被输入法的 ctrl+space 强行拦截,这就很迷了,据说这个 bug 还不是每人都会遇到。
QNLvw5fLfr7c
2022-03-02 04:50:00 +08:00
不能再同意了, 补充一条: 候选词排序太垃圾了, 可以试试打"jishi", 然后看看有多少垃圾词

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

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

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

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

© 2021 V2EX