微软最垃圾的设计 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tunazero
V2EX    分享发现

微软最垃圾的设计

  •  
  •   tunazero 330 天前 4363 次点击
    这是一个创建于 330 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Windows 中,每个窗口管理自己单独的输入法状态,极其地反直觉极其的啥比。

    这边在浏览器打字切成中文,切到文档编辑器又变成英文,这边切换成英文用其他窗口又变成中文!再加上部分的应用可以擅自切换当前窗口的输入法状态,在来回切换几次窗口和输入法后,用户完全不可能预测下一次输入时的输入法状态!!!

    你可以在微软拼音里找到关闭状态随窗口改变的选项,但是其实屁用没有! Window 上没有任何选项可以禁用这个特性!!这是写死在输入法中的逻辑,所有的包括第三方的输入法都会受影响!!!

    看看这啥比设计造成多少问题: 如何关闭/取消/调整微软拼音输入法从中文自动切换回英文模式的行为 AHK 中英文输入法自动切换

    44 条回复    2024-11-19 17:59:25 +08:00
    wyd011011daniel
        1
    wyd011011daniel  
       330 天前
    其实蛮喜欢 MacOS 上点击输入框显示中英文的那个图标 win 上也有第三方的但不够好用
    tunazero
        2
    tunazero  
    OP
       330 天前
    下面是我自己的解决方案:

    一:保留一个英文输入法和一个默认状态是中文的中文输入法,需要中英切换时在两种输入法之间切换而不是切换中文输入法的输入状态。

    二:只保留一个 Rime 输入法,Rime 输入法自己实现了一个全局状态的功能,在切换中英后对所有窗口生效,但是缺点是进入输入状态时有些许延迟,以及创建新窗口后新窗口的输入法会变成默认状态而不是跟随当前的输入法状态。

    我现在用的是方案二,因为可以方便的用命令行切换 Rime 的状态,我用脚本在中英文之间切换并且切换的同时切换任务栏的颜色,可以极其显目的提示出当前输入状态。

    tunazero
        3
    tunazero  
    OP
       330 天前
    @wyd011011daniel 我用的是改变任务栏的颜色提示输入法状态,还是挺好用的
    itskingname
        4
    itskingname  
       330 天前
    Teams 是微软目前还活着的最烂的产品。在场各位应该没有意见吧?
    quantum00549
        5
    quantum00549  
       330 天前
    嗯...虽然我很喜欢这个功能, 但不提供自定义设置确实是产品设计不行
    Y25tIGxpdmlk
        6
    Y25tIGxpdmlk  
       330 天前
    印度佬:输入法好不好用关我 P 事,我们都用 26 个字母
    Leviathann
        7
    Leviathann  
       330 天前
    而且切换中英文还 await 了弹窗的关闭动画
    AX5N
        8
    AX5N  
       330 天前   5
    输入状态统一才 sb
    想象一个场景:你一边打游戏,一边跟人家使用 QQ 聊天,你刚发完消息切回游戏窗口,然后你发现怎么按游戏都没反应,因为你现在正在输入中文,消息全被输入法给拦下来了。
    wu00
        9
    wu00  
       330 天前
    用微软输入法这么多年,今天才知道有这个功能
    ayang23
        10
    ayang23  
       330 天前
    最傻逼的是输入法默认打开,每次输入英文都得关闭输入法
    tunazero
        11
    tunazero  
    OP
       330 天前   1
    @AX5N 所以才应该要可预测的、行为统一的输入状态,假如没有其他隐藏逻辑干预用户的输入法状态那么用户自然能在脑海中留下输入状态的映像从而想到应该在何时关闭输入法。而你所说的例子并非是输入法问题,而是应用的问题,正常的游戏在无 UI 焦点的状态下不应该将按键事件当作字符输入。
    tunazero
        12
    tunazero  
    OP
       330 天前
    @wu00 因为大家都习惯了先打两个错误的字符,然后删除字符切换输入法,重新输入这一套操作。
    Jacobson
        13
    Jacobson  
       330 天前
    同样深受其扰,因为打字很快,每次一下手就是七八个字符出来了,所以我用 Del 键比较少,都是 Atrl+A 再删除...

    用的这个,输入法状态跟踪工具:

    ImTip
    levelworm
        14
    levelworm  
       330 天前
    其实我觉得最需要的是记忆每个窗口输入法的状态,比如说上次用英文这次大概率还是英文,等等。不知道实现上是否困难?目前还不知道输入法是怎么和窗口挂钩的。
    QHKZ
        15
    QHKZ  
       330 天前
    附议,没有提供自定义功能就是产品缺陷。微软的输入法管理一直很混乱,不仅可用输入法和显示语言有关,而且在一种语言的输入法里面还参杂了其他语言的输入法,例如中文输入法里面添加了英文输入,想要英文输入法(包括听写,词典等全套功能)还要添加英语为显示语言。给不同的窗口绑定不同的输入法还是挺方便的,可以省去在不同语言的窗口来回切换输入法,macOS 应该学学。
    另外,什么时候 macOS 的输入法能关掉表情符号,白白占用了宝贵的首行候选位置。
    cmdOptionKana
        16
    cmdOptionKana  
       330 天前   1
    > 你可以在微软拼音里找到关闭状态随窗口改变的选项,但是其实屁用没有!

    错了,你这个是微软拼音的功能,不是 Win 系统的功能。而 Win 系统是有 “允许我为每个应用窗口设置不同的输入法” 这个功能的,可以禁用,刚试了有效。
    cmdOptionKana
        17
    cmdOptionKana  
       330 天前
    @quantum00549 这个功能可以设置,是 OP 找错地方了。
    YsHaNg
        18
    YsHaNg  
       330 天前
    微软拼音不是只用来输中文吗 压根没必要用它英文模式 win+space 切换英语键盘布局就可以了
    huangzhiyia
        19
    huangzhiyia  
       330 天前 via iPhone
    这个功能挺不错的啊 写代码是英文 切出去回个消息用中文 切回来是英文
    GeruzoniAnsasu
        20
    GeruzoniAnsasu  
       330 天前
    CatCode
        21
    CatCode  
       330 天前
    @cmdOptionKana 我是喜欢“允许我为每个应用窗口设置不同的输入法”这个功能的,而且已经开启了。但是已经是微软拼音+中文的窗口,来回切换之后,很容易变成微软拼音+英文,需要用 shift 键切换一下(两次 win+space 还是微软拼音+英文)。这个问题又办法解决吗?
    fyq
        22
    fyq  
       330 天前
    借楼问一下,微软新版( Win10 以后的)拼音输入法要怎么设置才能在待选字那里选错了字重新选,而不是只能看着待选字上屏删除重打?
    AV1
        23
    AV1  
       330 天前   1
    不知道世界上是否存在允许大写模式也能输入中文的输入法?

    因为我觉得烦人的不仅是中文、英文两种模式的混乱,其实是 4 种模式(中文大写&中文小写&英文大写&英文小写)。

    有时想输入中文,按键后结果输入的是英文,退格,shift 切换,再输入,输入的还是英文,再退格,capslock 切换,这样来来回回耽误了时间。

    我不知道“中文状态+大写模式不能输入中文”这种荒唐的“传统”是谁发明的?为什么没人敢打破?
    日韩语输入法都没这荒唐的逻辑,大写模式依然可以输入自己的文字。
    c6h6benzene
        24
    c6h6benzene  
       330 天前
    @DOLLOR 日语输入法的话大概是因为他们的键盘按键的缘故,JIS 键盘上 Caps Lock 的功能是切换假名输入/英数输入,而 Shift+Caps Lock 才是切换英文大小写。
    tunazero
        25
    tunazero  
    OP
       329 天前
    @cmdOptionKana #16 Win10 ?我折腾输入法少说有几十个小时了,从来没找到过这种选项。如果有的话第那些三方输入法也不会自己重新实现一套全局状态管理了。
    tunazero
        26
    tunazero  
    OP
       329 天前
    @YsHaNg 一是微软拼音不好用,二是微软拼音的默认状态是英文模式,根本无法固定在中文模式下,还是需要频繁切换输入状态。而且这个设计不只影响微软拼音,还影响所有的第三方输入法。
    cmdOptionKana
        27
    cmdOptionKana  
       329 天前
    @tunazero 参考资料:

    告别输入法纠结:只需一个设置,再也不用切换输入法
    https://cloud.tencent.com/developer/news/1101500

    win10 1809 如何开启:允许我为每个应用窗口设置不同的输入法
    https://answers.microsoft.com/zh-hans/windows/forum/all/win10-1809/d1e6c97f-fc8c-4640-b6ce-4e9e6743ed0d
    cmdOptionKana
        28
    cmdOptionKana  
       329 天前
    @CatCode 微软拼音设置默认输入中文,另外添加一个英文键盘。
    CatCode
        29
    CatCode  
       329 天前
    @cmdOptionKana 已经是这样的了
    cmdOptionKana
        30
    cmdOptionKana  
       329 天前
    @CatCode 换个输入法,看看是不是微软拼音的问题。另外,微软拼音可以设置用新版或旧版,也可以试试换个版本。
    tunazero
        31
    tunazero  
    OP
       329 天前
    @cmdOptionKana #27 我主楼说的就是这个设置,记错了不是微软拼音内部的。这个设置没有任何用。
    klo424
        32
    klo424  
       329 天前
    肌肉记忆了,用了 20 多年的 Windows ,切中英文无需动脑。你要是现在改了我怕是反而不习惯了。
    tunazero
        33
    tunazero  
    OP
       329 天前
    @cmdOptionKana #27 问题不是在输入法( Layout ),而是输入法内部的状态,例如微软拼音内部的中文模式和英文模式,这个东西改不了。
    tunazero
        34
    tunazero  
    OP
       329 天前
    @cmdOptionKana #28 微软拼音没有办法设置默认中文模式
    cmdOptionKana
        35
    cmdOptionKana  
       329 天前
    @tunazero 我刚做了一个实验。

    1. 删除微软拼音(包括删除简体中文键盘),再重新安装回来。
    2. 在微软拼音里设置默认使用中文,兼容性选择使用以前版本的微软拼音输入法
    3. 在系统级输入法高级设置里取消了“允许我为每个应用窗口设置不同的输入法”
    4. 打开一个记事本窗口,切换到微软拼音,此时,默认输入中文,我切换到微软拼音英文
    5. 再打开另一个文本编辑器( editpad lite ),由于我已经取消“允许我为每个应用窗口设置不同的输入法”,因此该窗口打开后直接就是微软拼音,此时,输入状态是中文。
    6. 我切换窗口到记事本,发现状态是微软拼音英文
    7. 我再打开第三个编辑器( emeditor ),状态是微软拼音中文。我 win+空格 切换到纯英语键盘。
    8. 切换到其他各个窗口,全都是纯英语(不是微软拼音),也就是说取消“允许我为每个应用窗口设置不同的输入法”是有效的。

    总结,微软拼音可以设置默认中文,每个新开的窗口都是默认中文,而如果一个窗口切换到“微软拼音英文”,则会记住这个状态。在取消“允许我为每个应用窗口设置不同的输入法”的状态下,用 win+空格 切换到纯英语键盘,此时全局生效,不管切换到哪个窗口,都是纯英语状态。
    cmdOptionKana
        36
    cmdOptionKana  
       329 天前
    @CatCode 我刚做了一个实验,如上所示。
    vopsoft
        37
    vopsoft  
       329 天前
    https://github.com/flyinclouds/KBLAutoSwitch 这个自定义切换,不过有时有也兼容问题,可以测试下
    Bronya
        38
    Bronya  
       329 天前
    「每个窗口管理自己单独的输入法状态」是一个非常好的功能,每次重装系统之后特意打开,英文窗口就该是英文,中文窗口就该是中文,掺和到一块算什么狗屁玩意。
    tunazero
        39
    tunazero  
    OP
       329 天前
    @cmdOptionKana #35 对对,“允许我为每个应用窗口设置不同的输入法” 有用,但是中文布局的内部状态不可调,还是会随窗口变,我的方案一就是这样的,英文布局加默认中文布局。但中文布局不能是微软拼音,微软拼音即使改了默认设置在一些情况还是会自动跑到英文模式。
    tunazero
        40
    tunazero  
    OP
       329 天前
    @Bronya 哪有这么多纯中文和纯英文的窗口,IDE 要写注释,中文笔记要写单词和 markdown 标记,我的 Rime 里面写死状态的窗口总共就两个。
    CatCode
        41
    CatCode  
       329 天前
    @cmdOptionKana Win11 24H2 测试是这样的 就是这个切换后记住“微软拼音英文”的逻辑特别让人蛋疼

    而且我发现 在一个窗口中,可能有“不可输入区域”(例如按钮、图片等)和“可输入区域”(例如文本框):如果焦点在“不可输入区域”就会自动变成“微软拼音英文”;如果焦点在“可输入区域”就会自动变成“微软拼音中文”。但这个自动切换在我测试的条件下不会触发上面说的“记住”。(也有可能是触发条件比较复杂,概率较低我没试出来)
    Byleth
        42
    Byleth  
       329 天前
    @itskingname 最垃圾的办公 im 应用,界面响应巨卡无比
    YsHaNg
        43
    YsHaNg  
       329 天前
    @tunazero 我的可以啊 微软拼音设置-通用-默认模式-下拉选中文 again 我是默认英语键盘 只有在需要输中文的输入框才 win+space 切换中文键盘微软拼音 这个全局快捷键改不掉让人很恼火干脆就用了
    YsHaNg
        44
    YsHaNg  
       329 天前
    @tunazero 默认英文键盘 打完中文就切换掉中文 ime 比如你说的 注释的中文写完就切换英文键盘 markdown 和单词也用英文键盘写 ime 只做输入中文一件事情 标点符号都不让它打
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     973 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 22:28 PVG 06:28 LAX 15:28 JFK 18:28
    Do have faith in what you're doing.
    ubao 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