最近好几个吐槽输入法切换的帖子,说说我的办法

2015-11-05 12:59:26 +08:00
 pheyer
我想大部分人的电脑都是一个英文输入法,一个中文输入法,且中文输入法带 shift 键快捷切换英文功能

先想想为什么要有 shift 键快捷切换英文功能,原因不外是两输入法之间切换比较麻烦, Win 下快捷键一般 Ctrl+Space , Mac 下快捷键一般是 Cmd+Space ,按 shift 比按两个键快啊

这样的话你的输入法有三态:英英,中中,中英——偶尔你会觉得很混乱:明明是中英你觉得是英英,想切换输入法再打中文结果输入还是英文,再一看输入法状态才恍然大悟。

要避免这种混乱,最好是把你的输入法变成两态:英英,中中,并且设置方便的输入法切换快捷键。试想,如果把切换输入法的快捷键变成如按 shift 键一样方便,你还会在中文输入法用 shift 快捷切换英文吗?

我觉得这个方便的快捷键应该是 Caps Lock 键,因为这个键不常用,并且如同按 Shift 键一样方便。至于需要大写的时候,可以用 Shift 嘛,或者映射另一个组合键作为大写键。

最开始可能习惯不了,慢慢适应就好了,到后来会觉得很方便的。

Mac 下把 Caps Lock 键映射成输入法切换键可以参考这个教程:[Mac :使用大写锁定键切换输入法 · BlahGeek's Blog]( https://blog.blahgeek.com/IMLight/)
我不用 Win 电脑, Win 用户觉得有需要就自行搜索一下吧
18422 次点击
所在节点    分享发现
49 条回复
old9
2015-11-05 15:12:25 +08:00
用 Shift 切换的问题是,不管程序多么智能,总是会有误判。

比如你输入一些 CamelCase 的变量时,本想打大写结果 shift 按下后发现其实应该输写,这时候松开 shift 输入法已经成中文了,这得多恼火。
mhqschen
2015-11-05 15:13:49 +08:00
@Sylv 这个好,既方便又不影响本身 shift 的使用。
old9
2015-11-05 15:13:53 +08:00
@old9 ……本想打大写结果 shift 按下后发现其实应该输小写,……
old9
2015-11-05 15:16:01 +08:00
Shift 切换还有一个问题, PS 等鼠标操作的软件里面,误判就更为严重。
Sylv
2015-11-05 15:22:19 +08:00
@old9 Karabiner 还是可以避免这个问题的,只有短按才会切换输入法,按下 shift 后发现不需要大写再松手的情况,这过程的时长 karabiner 会判断为长按而不会去切换输入法。
pheyer
2015-11-05 15:22:35 +08:00
@old9 就是担心这个误判问题,因为之前我还是遇到过,那还是不用 shift 了吧
gqfBzoLVY3Wl4Tng
2015-11-05 15:58:23 +08:00
er 一直用 shift 可能我不用码字
xiaket
2015-11-05 16:08:02 +08:00
之前就用 karabiner 搞过这套东西, 写过一篇简单的说明在这儿: http://blog.xiaket.org/2015/karabiner.html

当时就很纠结, 希望能让指示灯来指示输入法状态, 不过当时没搞定.

今天看的链接里的 maclight, 搞了半天, 又找来 keyboard_leds.c 编译测试了半天, 仍然没法让大写锁定的指示灯亮起来. 找到最后看到 maclight 的作者在 Issue 里面说的:

"Maclight still works on latest OSX, but only for external keyboards,
not for laptops. It has always been that way, I should clarify that in the README.

As far as I know OSX unfortunately doesn't expose an API to toggle the
LEDs on laptop keyboards."

于是放弃了... 希望这段经历能够避免后人在这上面花费太多时间.

另外, 要显示输入状态, 这个软件可以使用: https://pqrs.org/osx/ShowyEdge/index.html.en
zi
2015-11-05 16:55:52 +08:00
反正 win10 自带输入法在中文状态下 shift 切换到英文之后按两次 ctrl+space 无法切换回中文状态是我不能接受的设定。。
lyz1990
2015-11-05 16:56:58 +08:00
代码的时候写变量名经要打大写字母进来,所以 shift 切换显然是不科学的
lyz1990
2015-11-05 16:57:58 +08:00
再说输入法这玩意不怎么需要切换吧,干活的时候基本上都是英文
leavic
2015-11-05 17:11:19 +08:00
其实我只想全面禁用全角,但在我写 latex 的时候才恢复全角功能。
Layne
2015-11-05 17:50:05 +08:00
@ngn999 握手。。用双拼的人毕竟少,你看都没人回复你。。
ngn999
2015-11-05 17:54:48 +08:00
@Layne 握爪
ahcat
2015-11-05 19:19:41 +08:00
用了 10 几年 Ctrl 加空格切换,直到 win8 出来后强制改成 win 加空格切换,无论怎样都无法改变自己的使用习惯,这就是我连正版 win8 都不用的最大原因。
Suclogger
2015-11-05 22:00:37 +08:00
@Sylv 看到你在 http://v2ex.com/t/205046 中的脚本,
Suclogger
2015-11-05 22:01:04 +08:00
@Sylv 在系统设置中更改默认切换输入法快捷键 ⌘+Space 为不存在的按键 F18 这个是怎么实现的呢
Monad
2015-11-05 22:59:08 +08:00
更烦的其实是中文输入法在 vim 下敲命令 那酸爽!
Windows 貌似也没有 fcitx.vim 吧
21grams
2015-11-05 23:28:38 +08:00
win10 最烂的一点就是把 ctrl+空格给废了
Sylv
2015-11-06 04:08:17 +08:00
@Suclogger 先用 karabiner 映射 shift 键为 F18 键,然后在系统设置中更改默认输入法的快捷键时会让你按想要的快捷键,这时按 shift 键就会被识别成 F18 键了。

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

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

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

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

© 2021 V2EX