macOS 如何用 Shift 一键切换原生输入法
- 作者帖子
- Up::2
几年前刚用 Mac 的时候,因为之前用 Windows 的习惯,所以用的是搜狗输入法。后来随着 macOS 自带输入法的成熟,我开始使用 macOS 原生输入法。但是搜狗输入法的按 Shift 键切换中英文特别好用,反倒是原生输入法的中英切换时常发生故障,于是我干脆直接关闭了原生输入法的中英切换功能,将 CapsLock 键换成了 Hyper 键。
但是换了之后要按两个键才能切换输入法,这个问题一直困扰着我,直到我遇见了 Karabiner-Elements。Karabiner-Elements 是一个能将键盘键位自由映射到其他按键的应用,今天先介绍点它的简单用法。
首先到这里下载最新的 Karabiner-Elements。安装完成后的界面是这样的。
先到第二栏 Function Keys 中将 f12 设置为 f12。
然后到第三栏 Complex Modifications,选择 Add rule -> Import more rules from the Internet(open a web browser), 在网站上找到我们需要的 rules: Tapping modifier-keys produces a f-key,最后将 Press left_shift alone produces F12 Enable,这样 Karabiner-Elements 中的设置就完成了。
接着就去到设置里,将切换输入法的快捷键设置成 F12,这样就可以按左 Shift 键一键切换输入法了。
如果没有成功,看一下是否有快捷键冲突。
设置完成后Karabiner-Elements 会在top bar上显示为图标。如果不想显示可以在工具属性里面进行隐藏设置
如果系统更新或者软件版本更新,可能会导致原先设置的快捷键失效,按照上述指南重新配置一遍即可。
- Up::0
另外一种方法: 在不改变原有快捷键功能的情况下进行配置
1.软件下载 :https://github.com/pqrs-org/Karabiner-Elements/releases/tag/v14.13.0
2.安装配置:注意相关隐私权限的放开
3.进入Karabiner的配置目录:cd ~/.config/karabiner/assets/complex_modifications
4.创建一个 remapLShift.json 的文件,实现下面两个效果:
- 默认的 left_shift 组合按键效果保留,即仍然Shift+字母、数字 仍然和不做 Mapping 映射之前一样
- 单独按下Left_Shift按键,则等同于按下 Left_Control+Alt+Space空格,即实现输入法的切换,体验和Sougou 切换一致
5. remapLShift.json配置内容
{ "title": "L_Shift to Ctrl+Alt+Space", "rules": [ { "description": "Change L_Shift to control + alt + space to switch EN/ZH", "manipulators": [ { "type": "basic", "from": { "key_code": "left_shift", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "left_shift", "lazy": true } ], "to_if_alone": [ { "key_code": "spacebar", "modifiers": ["left_control", "left_option"] } ] } ] } ] }
6.配置加载
7.至此,配置工作已经完全完成
原文参考:
- 作者帖子
- 哎呀,回复话题必需登录。