1. 背景
最近一段时间发现 M1 电池掉电很快,通过监控器查看过去 12 小时发现 Sogou 输入法的耗电很多(类似情况好几次了);加上以前 Mac 下只保留一个 Sogou 输入法也需要做一些系统配置修改,所以性替换回系统自带默认的Pinyin 输入法和ABC 输入法!
这里替换是采用键盘映射方式实现,即通过Karabiner-Elements
软件实现输入法切换!
删除 Sogou 输入法仅保Pinyin 输入法和ABC 输入法,遇到几个问题:
- 输入法切换快捷键问题:Sogou 默认使用
Left-Shift
快捷键切换,但 Apple 键盘输入默认不支持(可以配置为 Cap 大小写按键或Ctrl+Space
组合键,还是非常不习惯) → 这里使用Karabiner-Elements
开源的键盘映射软件实现Left-Shift
切换中英文输入法 - 输入法切换时候存在小图标问题:在输入框下存在一个明显的切换图标,非常影响沉浸似输入,希望移除
2. 输入法快捷键切换方案 - Karabiner-Elements
2.1. Karabiner-Elements 简介
Karabiner 是一个 macOS 系统下的键盘映射工具,它允许用户自定义键盘按键的行为。通过 Karabiner,用户可以重新映射、禁用或修改各种按键功能,以满足个人需求。
Karabiner 最初是由 Takayama Fumihiko 开发的,并在 2016 年改名为"Karabiner-Elements"。它使用了一种称为"EventTap"的技术来拦截和处理输入事件,并根据用户配置文件中的规则进行相应操作。
使用 Karabiner,你可以实现以下功能:
- 重新映射按键:将某个按键映射到另一个按键上。
- 禁用按键:完全禁用某个按键。
- 修改组合键:更改组合快捷键(如 Command+C)的行为。
- 创建复杂规则:根据特定条件创建复杂的规则集,例如只在特定应用程序中生效。
要使用 Karabiner,在其官方网站上下载并安装对应版本即可。你还可以参考以下链接获取更多关于 Karabiner 的信息:https://karabiner-elements.pqrs.org/
2.2. Karabiner 修改操作流程
软件下载 :https://github.com/pqrs-org/Karabiner-Elements/releases/tag/v14.13.0
安装配置:注意相关隐私权限的放开
进入
Karabiner
的配置目录:cd ~/.config/karabiner/assets/complex_modifications
创建一个
remapLShift.json
的文件,实现下面两个效果:- 默认的 left_shift 组合按键效果保留,即仍然
Shift+字母、数字
仍然和不做 Mapping 映射之前一样 - 单独按下
Left_Shift
按键,则等同于按下Left_Control+Alt+Space空格
,即实现输入法的切换,体验和Sougou
切换一致
- 默认的 left_shift 组合按键效果保留,即仍然
remapLShift.json
配置内容1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
{ "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"] } ] } ] } ] }
配置加载
至此,配置工作已经完全完成
3. 输入法图标隐藏
- 问题现象
- 隐藏输入法切换 Icon 图标
1
sudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO
- 重启电脑后,即可以完成该图标隐藏
- 在 Menu 菜单栏放开输入 Icon 图片(可选)
4. 总结
之前使用 Sogou 输入法一直觉得功能有些太冗余了,实际上就是软件不符合单一职责,但商业化又不允许,所以加了一堆有的没的功能,对于输入法的核心定位感觉有些偏离。
市面上除了 Sogou 也有一些其他输入法,但体验下来有的感觉还不如 Sogou。 - https://www.zhihu.com/question/455027751
为了在 Mac 上使用 Sogou 输入法,同时不乱切换到其他 ABC 输入法,所以需要删掉 ABC 输入法(系统至少要保留一个,所以也得改一些系统配置,还是有些折腾,之前 MacTip 也有记录过)
最近发现 Sogou 不知道是不是在搞数据采集什么的,搞得 M1 掉电很快,索性就卸载考虑原生的 Apple 输入法,为了让原生的输入法和 Sogou 有同样的流畅输入体验,不得不再折腾下。
目前改完后,不管是双拼提示词,还是中英文切换体验,苹果 Pinyin 输入法+ABC 目前看起来使用感觉还是非常流畅(虽然会多了一个附带的 Map 键盘映射软件Karabiner-Elements
),整体感觉蛮不错的,还是可以考虑替换一把,毕竟原生的输入法兼容性还是会好一些!
5. 参考
- Apple 下删除 ABC 仅保留苹果输入法: https://www.jianshu.com/p/0ba1292441b9
- 关于 Karabiner 按键替换的信息:https://karabiner-elements.pqrs.org/
- Karabiner 软件安装、 https://www.onejar99.com/mac-keyboard-en-zh-switch-by-karabiner-elements/
- 输入法切换替换隐藏图标:https://discussionschinese.apple.com/thread/255178136?answerId=259709464322&sortBy=best#259709464322
- 一些其他输入法:https://www.zhihu.com/question/455027751