当我们谈论中英文输入法的时候在谈论什么?(产生困惑的原因分析)

今天突然对中英文输入法有了点新的想法和大家讨论。

1)大小写的问题。 纯英文输入法,正常是小写字母,Caps按下后,输出大写字母。 在中文输入法状态,Caps按下后,竟然也输出大写字母。 不管是哪个输入法,按下Caps 后都是大写字母。那么当再按一下 CAPS后, 会返回到英文,还是返回到中文呢? 大脑记不住的。 思路,caps按钮就在 英文输入法有效,中文输入法下caps无效。

2)!@#¥ 等特殊字符的输入。 无论在中文输入法还是英文输入法,这几个特殊字符都要用 shift +数字来实现。 其实,在104键盘,完全可以不用最上排按钮输入数字。 思路:最上面那排按下去就是输入特殊字符,数字由小键盘输入。减少组合按法。

3)shift 切换到英文。一般的中文输入法,按一下shift 就输出英文了,输入特殊符号的时候,也要按下shift ,组合按的慢了,导致输入法变化。并且,shift + 数字, 有时候是 ¥,有时候是$ ,同样的操作,不同的结果。容易搞乱。

4)英文大写字母输入。 输入大写字母,需要 caps + 字母+caps 三个动作。能否 “按的狠”“按的长”就是大写呢? 在密码框中,这个是不是大写更是无法直观的看出。(考虑哪些ssh终端中输入密码连星星都没有的情况)

5)录入密码的问题。 密码录入通常是大小写字母数字和特殊符号,输入时候内容又不可见,中文输入法状态在密码框中录入了中文也不知道,这时候有个提示输入法的光标就很有必要啦。

6)大小写切换,联想有个程序,可以在屏幕上提示状态,2秒后消失。 那么所有输入法状态的切换,是否都可以在屏幕上有个提示,然后消失呢?

7)总结:同样的操作,结果不一致,让大脑迷惑。 (caps按钮行为 ,shift+数字的行为,按下shift的行为) 组合键的输入让出错率提升。

现在 macOS 已经解决了以上一些问题。但 Windows 出于某些原因没有跟进。比如以单击 Caps 快速切换上一个输入法、长按 Caps 锁定英文大写。

问题 2)建议不现实,因为现在不是每个用户都会有 104 键盘。小键盘越来越成为潮流。而且特殊符号在大多数生产环境中使用比较少。无论是中文还是外外语,使用最多的符号仍然是逗号、句号、问号、引号,而这些已经可以非常快捷的输入。输入数字的频率可能要高于特殊符号。有实际需求的人自己重新自定义一下键盘就好了。

帖子里的序号乱了,编辑一下吧。

.3) 你可以用其它键,比如 Ctrl+Space
.5) 不是实际问题,我所遇到的所有密码输入框都会禁用输入法
.6) 目前有很多实现,参见 中文输入法状态问题的解决方案汇总

对这些问题比较彻底的解决方法是废除中英状态,但这就需要更多按键,需要使用自制键盘或者双键盘,对普通用户存在门槛。

输入长大写英文时才需要按CAPS,单个大写英文字母输入在中英文输入状态下都可以用Shift+对应字母。
关于第5)点,我又要推下MouseInc,它带有类似提示。
MouseInc 091030

我的需求有点特殊,希望完全关闭快捷键切换,如图:

Snipaste_2022-04-30_09-36-13

而是使用三个独立的bat或者cmd或者ahk的命令对中英文、全角半角、中英文标点进行切换。
比如执行一个批处理,输入法变成中文,执行另一个输入法,标点变成英文。

因为我想把键盘上的常规按键全都解放出来,而把这三个切换绑定到键盘特殊的功能键上
(这些功能键都是键盘硬件独有的,其他软件都不会用,也就不存在快捷键冲突的问题)

我的習慣是用Ctrl+空格開關輸入法,Shift切換中英文關掉。

除了在密码管理器上对中英文状态有强制需求,其实作为输入的时候切换问题不大,多窗口不同状态,windows已经自带了,无外乎快捷键使用界面-英文输入法 其他界面-中文输入法即可。

密码管理器需要强制英文输入法,不然输入会混乱,系统自带的指定切换又存在更新即丢失的问题,现在只能默认英文输入法保证切换到新界面时英文输入法就位(xp逻辑)

再说说中英文输入法的显示情况,作为快捷键的时候,若为中文输入法则不生效且会显示中文候选框,后根据使用英文输入的数量选择shift还是切换输入法即可,本质上也可以看作一个原生指示器。

其实你这谈的不是中英文输入法而是中文输入法下的中英文输入状态,上面提到的问题基本都与之相关,而不少我觉得根本不是问题。

  1. Caps 键作为大写锁定键,应该在所有输入状态下都有一致的表现(尽管我认为该键的存在没什么意义,比如可以手动将其和 ESC 键对调)。它是一个 toggle 键,第二次按下后当然是返回原来输入状态,不需要记。如果在中文状态下无效,那你在此状态下输入大写字母是切换到英文状态输入还是直接 Shift + 对应的键呢?

  2. 同样,一致性。带有小键盘的和不带小键盘的在你提到的特殊符号输入上应相同,要不然你在后者上怎么输入数字,用 Shift + ! 输入 1?

  3. 中文状态下输出,英文状态输出$,这难道不是正常行为吗?在其他键盘布局下输出的可能是欧元和英镑等。将目光看向键盘右侧,,.: 不也非常合理吗?另外,中文状态下基本都支持中英文混输,一般用回车即可将英文上屏。

  4. 不是有 Shift 键?还是说你需要整段整段地输入大写字母?在密码框中,一般会禁用 ime-mode 和屏蔽中文、空格等字符的输入,不存在这个问题。

  5. 同上。

  6. 这是很多厂商驱动会做的事,也可以通过其他程序做到。

  7. 实在厘不清的话,你完全可以当作不存在 Caps 这个键。

shift加对应字母,我原来一直不知道,谢谢,我又学会了新知识。

这个软件真好用,谢谢!

哈哈哈,试过双键盘啦,手指头不够。

嗯,我思考了一下,可能我的思维模式也有点问题。我想想怎样改变一下。

这个很好啊,可以设置所有按钮屏幕显示,这样输入密码的时候就能看到了。

为啥输密码的时候要在屏幕上显示:sweat_smile:

这样的很容易输错
M%@2&xCH9jr66Ed
C
6b2$Ec&he3H9K*
Se2@7T49ErJ#@&dn