V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
solitude3985
V2EX  ›  输入法

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

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

    都已经更新到 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   ·   我们的愿景   ·   实用小工具   ·   2572 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.