由于PC端日常有输入繁体字的需求,而小狼毫默认的繁简切换方式是先按F4呼出菜单再方向键下移切换,或按Ctrl+Shift+4快捷键切换,然而我用的是五笔输入法(拼音和简入繁出方案),Ctrl+Shift+4快捷键的方式不知为什么并无效,后来在weasel的issue区(https://github.com/rime/weasel/issues/850 )看到一帖子,帖子导向的博客链接(https://www.cnblogs.com/1314h/p/17298555.html )自定义快捷键:
key_binder:
import_preset: default
bindings:
- { when: always, accept: "Control+Shift+F", toggle: zh_simp} #对 zh_trad 开关的切换
于是参考这个在default.custom.yaml文件里增加了设置,发现也没起效,后来经过研究,发现这个toggle需要与输入方案schema.yaml中switches下繁简切换的名字一致,而我的wubi_pinyin.schema.yaml方案switches下的名字为“zh_trad”,所以需要把上述的“toggle: zh_simp”改为“toggle: zh_trad”,然后重新部署,成功起效:
对于我用的另一个输入方案——中古拼音输入法,其schema.yaml方案switches下的名字却是“zh_simp”,刚好与五笔相反,好在可以在schema.yaml方案里面添加只适用于这个方案的繁简切换方案,具体是在key_binder:下:
bindings:
- { when: always, accept: "Control+Shift+F", toggle: zh_simp } #繁簡切换快捷鍵
再次重新部署,成功起效:
然后有一个问题,在需要频繁切换繁简输入时,每次都要“Control+Shift+F” 三键,感觉太麻烦,本想把右Ctrl键单独设置为繁简切换开关,可是试了一下并没有效果。然后灵机一动,可以修改实体按键的功能呀!
我的机械键盘用的是qmk固件,自定义功能不在话下,查看了一下 https://docs.qmk.fm/#/feature_advanced_keycodes 的keycode,决定使用"Control+Alt+Shift+F" 作为快捷键替换右Ctrl键(主要是最大程度与其他软件的快捷键冲突),keycode 表示为“MEH(KC_F)”,修改keymap.c,编译并刷入固件,试了下,正常切换。至此改造成功。
20230722更新:
今天发现使用 "Control+Alt+Shift+F" " 切换简繁的方式在edge浏览器中无效,于是只得把快捷键改回 "Control+Shift+F", 相应地,把keycode 改为“RCS(KC_F)”。