困扰了很长时间的一个问题,想跟大家征集一下有没有解决方案,需求如下:
caps
切换英文和中文输入法shift+control+j
切换到日文输入法caps
也切换到英文输入法,再次按 caps
切换回日文输入法shift+control+c
切换回中文输入法(回到 2. 的相互切换状态)P.S.
感谢各位贡献自己的方案!但是看下来似乎没有发现完全符合我的需求的。
关键在于如何使输入法限定于中英、及日英之间用同个快捷键 caps
* 切换,其中主要难点在于:
使用同个快捷键在两种特定输入法间来回切换,需要识别当前的系统输入法状态,目前 Keyboard Maestro 没有提供相应的 Action 接口,于是去 Keyboard Maestro 论坛咨询了一下。
得到有效解决办法以后,我自己写了一组 Keyboard Maestro 插件,可以完美解决主贴的需求。
使用方法:
From key: caps_lock
,To key: f19
多语种输入切换 Macros.kmmacros
,并用 Keyboard Maestro 打开并启用例如(查询方法见 Keyboard Maestro 论坛):
com.apple.keylayout.ABC
com.apple.keylayout.USExtended
com.apple.inputmethod.SCIM.ITABC
com.apple.inputmethod.SCIM.Shuangpin
com.apple.inputmethod.Kotoeri.Japanese
*:为什么要用 caps 键,因为 macOS 默认就是用 caps 切换中英输入,习惯了
**:macOS 自带的 caps 切换功能时而会失效,所以要用 Karabiner-Elements 映射到不用的 F19 实现 100% 稳定切换。
Keyboard Maestro 帖子下面有人指出,判断输入状态用 %KeyboardLayout%
变量即可,所以更新第二版 (v2):
shift + option + j
和 shift + option + c
(缓解 MBP 键盘与 K3 键盘键位不一致;同样按需修改) 1
Vitta 2022-02-15 13:01:23 +08:00
我用的 hammerspoon
你说的那俩我没用过。我是 rime, 英文,哈里路亚输入法,其他切哈里没问题,哈里那 caps 是变大写,不会切输入法 |
2
sungnix 2022-02-15 13:19:15 +08:00
我是只保留鼠须管和系统日语输入法,
鼠须管输入中文和英文, 在鼠须管里 Shift 切换中英文状态, Command + Space 切换输入法。 |
3
djv 2022-02-15 14:57:36 +08:00
Command + Space 配合 Caps 就能实现吧,我记错了?
|
4
Mintyfrankie 2022-02-15 15:39:14 +08:00
提供一个我自己用的思路:
我目前使用的输入法(全原生):简体中文+繁体中文+英文+法语 配合 Karabiner 更改的 HyperKey 和 kawa (brew install kawa) 实现用 HyperKey + Z/X/C/V 切换到以上任意一个输入法; 再利用 Karabiner 将轻按右 Shift 键 map 为 F12 ,在系统设置中将其 map 为「切换回上一个输入源」,实现在短时间内需要频繁切换中 /英状态的需求; 我还安装了一个名为 Input Source Pro 的软件(在 MAS 中安装)可以在切换输入法以后在光标旁显示当前的输入源,能够减少一些心智成本。 |
5
Mintyfrankie 2022-02-15 15:41:39 +08:00
@Mintyfrankie 如果我没理解错的话,应该这套工作流也可以完美满足你的需求,也基本上没有什么 bug ,就是需要安装一些新的软件。
|
6
ck65 2022-02-15 17:06:34 +08:00
我也是中日英三个输入法,切换已经形成了肌肉记忆:如果不记得当前是什么输入法,又看不到菜单栏,就当作是正确的输入法,如果输入法不对手就在大脑反应过来之前按了 Esc + Command-Space 切换到要用的输入法。
|
7
ViolaH 2022-02-15 20:23:51 +08:00 via iPhone
同中日英,不过我是日文键盘,有「英数」「かな」两个键直接切英文和日文输入法,中文输入法的话设了个「 cmd +かな」的快捷键
|
8
leaves615 2022-02-15 22:26:02 +08:00 1
|
10
Jxcrow 2022-02-16 00:21:12 +08:00
跟我一样的需求,暂时用的 kawa ,需求都可以满足。
|
11
sprzwty 2022-02-16 01:02:38 +08:00
@ViolaH 巧了,我也在用这个。前年入了个 108 键,直接用 karabiner 把 f15-f17 设成输入法切换了
|
12
pC0oc4EbCSsJUy4W 2022-02-16 02:15:53 +08:00
自动切换输入法
|
13
czhu 2022-02-16 08:49:02 +08:00
没懂需求,mac 左下角不是有个专门切换输入法的 Globe Key ?按下去选自己需要的输入法就行。
|
14
Cuo 2022-02-16 12:56:59 +08:00
以前专门写过脚本,后来和 10 层一样发现了 kawa .
https://github.com/hatashiro/kawa |
15
Mintyfrankie 2022-03-30 04:02:59 +08:00 via iPhone
看到楼主用 Keyboard Maestro 解决了问题;之前我也尝试过 KM 来解决,但这个软件本身确实有些重,加上它的非图形化 macro 效率是有点低,就放弃了。
最近我又重新静下心来折腾了 Hammerspoon ,发现它的自由度真的很高,可以完美地实现你的需求,切换速度也因为是纯脚本语言而效率很好。如果有需要的朋友我也可以分享一下自己的思路。 |
16
bunny777 2023-03-29 21:46:19 +08:00
我有点没搞懂,keyboard maestro 不是直接有提供,Set Keyboard Layout to “ABC”,这个选项吗?可以一键切换呀?
|