Windows 系统的中文输入法自洽能力就是一团糊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
solitude3985
V2EX    输入法

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

  •  
  •   solitude3985 2022-01-24 01:07:28 +08:00 3729 次点击
    这是一个创建于 1446 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    或者是同时添加:

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

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

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

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

    ===

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

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

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

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

    中英混打的意义并不是说你在用中文输入法里面打英文。而是在中文里面使用拉丁字母表示的专有名词,如:苹果公司于发布了 iPhone 13 系列智能手机。这是一句中文句子,但是你需要输入 iPhone 这一拉丁字母表示的词语,这时候切换语言其实并不合理,因为自始至终你输入的还是中文。
    solitude3985
        6
    solitude3985  
    OP
       2022-01-24 18:58:18 +08:00
    @marcong95 所以 iOS 上面的自带输入法因为打 iPhone 需要切换输入法也属于设计不合理?
    networm
        7
    networm  
       2022-01-25 08:49:01 +08:00   1
    这种问题不要指望 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
        8
    networm  
       2022-01-25 08:50:12 +08:00
    @kujio 在 Windows 下,Recaps 可以使用 CapsLock 切换中英文
    kujio
        9
    kujio  
       2022-01-25 09:55:10 +08:00
    @networm 谢谢,试了下好像只有切换输入法的功能。我还想要 capslk 代替 ctrl+alt ,就是单击 capslk 切换输入法,按住 capslk+任意键相当于 ctrl+alt+任意键,我用 auto hotkey 实现了,不过 auto hotkey 在某些软件下会被屏蔽。
    marcong95
        10
    marcong95  
       2022-01-25 10:10:04 +08:00
    @solitude3985 #6 iOS 的自带拼音输入法我记得也是支持中英混输的吧,而且由于苹果对自家产品的大小写的纠结,甚至还会能输出正确大小写的 iPhone 。

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

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

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

    注:即便如此,也推荐为英文输入使用 英语(美国)的 QWERTY 键盘,因为部分游戏会假定这个键盘,如果你没有使用这个键盘的话,就会强行给你临时增加这个键盘(重启系统后消失)。但这个应该跟微软没关系,是游戏的问题……
    caryRowen
        13
    caryRowen  
       2022-02-03 11:15:00 +08:00
    补充一条微软的罪状,ctrl + space 切换中英文(不可更改),但当我使用 ctrl+alt+Space (选中 /取消选中多选列表项)的时候会被输入法的 ctrl+space 强行拦截,这就很迷了,据说这个 bug 还不是每人都会遇到。
    QNLvw5fLfr7c
        14
    QNLvw5fLfr7c  
       2022-03-02 04:50:00 +08:00
    不能再同意了, 补充一条: 候选词排序太垃圾了, 可以试试打"jishi", 然后看看有多少垃圾词
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2313 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:04 PVG 00:04 LAX 08:04 JFK 11:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86