转载的: 原文链接 https://github.com/rime/squirrel/wiki/%E5%AE%9E%E7%8E%B0Shift_L-%E6%8C%89%E4%B8%8B%E6%97%B6%E5%88%87%E6%8D%A2%E8%BE%93%E5%85%A5%E6%B3%95%E5%8D%B3Shift_L-%E4%BB%A3%E6%9B%BFCtrl_Space 也可以 github 搜索 rime/squirrel
理想的情况是 mac 只保留一个 Squirrel 输入法,用 Squirrel 中的功能( shift 切换中英文状态) 现实的情况是 mac 不允许删除默认的 英文输入法,且默认某些 Application 输入法状态是系统默认的英文 所以有时实现切换中英文会变得很繁琐 (系统英文态<---> Squirrel 英文态<---->Squirrel 中文态)
解决方案 不使用 Squirrel 英文态,但是依然想用 Shift_L 来切换中英文状态 (系统英文态<---->Squirrel 中文态)
需要 配合 Karabiner 来使用
Karabiner 中 private.xml 相关文档 只需要在其中加入以下配置
<item> <name>Shift_L to Shift_L</name> <appendix> + When you type Shift_L only,change to previous system input method</appendix> <appendix>Shift_L == (Ctrl-Space)</appendix> <identifier>private.change_input_source_to_squirrel.Rime</identifier> <autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::SPACE,ModifierFlag::CONTROL_L</autogen> </item>然后重起 Karabiner,并在 Kanabiner 配置界面上勾上 (Shift_L to Shift_L) 选项,启用以上配置即可
我现在使用 有个小小的问题. 每次按 shift 都会自动打出一个 ( 来....有知道怎么去掉的 留个言哈.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.