-
-
Save lotem/2981316 to your computer and use it in GitHub Desktop.
# 中西文切換鍵的默認設置寫在 default.yaml 裏面 | |
# 以下的 default.custom.yaml 在全局範圍重定義該組快速鍵 | |
# | |
# 可用的按鍵有 Caps_Lock, Shift_L, Shift_R, Control_L, control_R | |
# Mac 系統上的鼠鬚管不能區分左、右,因此只有對 Shift_L, Control_L 的設定起作用 | |
# | |
# 已輸入編碼時按切換鍵,可以進一步設定輸入法中西文切換的形式。 | |
# 可選的臨時切換策略有三: | |
# inline_ascii 在輸入法的臨時西文編輯區內輸入字母、數字、符號、空格等,回車上屏後自動復位到中文 | |
# commit_text 已輸入的候選文字上屏並切換至西文輸入模式 | |
# commit_code 已輸入的編碼字符上屏並切換至西文輸入模式 | |
# 設爲 noop,屏蔽該切換鍵 | |
# | |
# 如果要把 Caps Lock 設爲只改變字母的大小寫而不做中西文切換,可將 Caps_Lock 對應的切換方式設爲 noop | |
# 如果要以 Caps Lock 切換到西文模式,默認輸出小寫字母,請置 ascii_composer/good_old_caps_lock: false | |
# 如果要以 Caps Lock 切換到西文模式,默認輸出大寫字母,請使用以下設置: | |
patch: | |
ascii_composer/good_old_caps_lock: true | |
ascii_composer/switch_key: | |
Caps_Lock: commit_code | |
Shift_L: noop | |
Shift_R: noop | |
Control_L: commit_code | |
Control_R: commit_code |
冒昧问一下,目前能做到区分左右 shift 了吗?我看搜狗输入法有这个功能
有Shift_L和Shift_R
我在mac上尝试,貌似无法区分出来
用注音輸入法的話,
個人覺得把default.yaml改成以下這樣最直覺,
以caps切換中英,要打大寫只要按著shift即可:ascii_composer: good_old_caps_lock: false switch_key: Shift_L: noop Shift_R: commit_text Control_L: noop Control_R: noop Caps_Lock: clear Eisu_toggle: clear
如果可以区分长按和短按,体验会更好
,shift或者ctrl在很多程序中都是控制键,误触很麻烦,直接替换系统的ctrl+space其
shift 上屏 跟 切換中英输入 可不可以分开,,,,☹
目前不支持「shift 上屏」。未完成的輸入自動上屏是切換到英文狀態的結果。
设置在输入时使用 CAPS_LOCK
清除正输入的码,而不影响目前的中文小写输入应该如何设置?
在 key_binder
设置 - {accept: "Caps_Lock", send: Escape, when: composing}
可以清空,但会自动切换到大写。
按如上方法设置为Capslock切换中西文仍有一定问题:在输入法未激活的状态下按Capslock会改变中英文状态,但任务栏右下角图标不会改变,所以输入时的中英文状态常与预期的不一样。即有时右下角显示是中文,但输入的时候确实英文状态。
我目前的解法目前未发现问题,写在这里供大家参考:
目标:用Capslock切换中英文输入法,禁用Shift。
- 禁用rime中的英文输入法
- 添加一个美式键盘,保持只有两个输入法,一个中文(小狼毫),一个英文。
- 用 AHK 将Capslock 定义为 Windosws+Space(输入法切换快捷键):
CapsLock::Send #{Space}
wubiii 提到的Capslock问题官方确实一直没有解决,估计也是受到系统的限制。
他的解法很好。如果不会用AHK,正好现在微软官方推出了Microsoft PowerToys,可以给CapsLock改成任意键。
我的实现是:
-
用Microsoft PowerToys把CapsLocks改成右Ctrl
-
修改配置 Control_R: commit_code
最后把其它键盘和输入法全禁用,就留RIME,就行了
wubiii 提到的Capslock问题官方确实一直没有解决,估计也是受到系统的限制。 他的解法很好。如果不会用AHK,正好现在微软官方推出了Microsoft PowerToys,可以给CapsLock改成任意键。
我的实现是:
- 用Microsoft PowerToys把CapsLocks改成右Ctrl
- 修改配置 Control_R: commit_code
最后把其它键盘和输入法全禁用,就留RIME,就行了
话说能不能给映射到标准键盘不存在的键?但是我看rime的文档,好像脚本不支持这些标准键盘键盘不存在的键……(按理来说键盘的协议应该最多支持255个键)
我最开始也是想映射到不在键盘上的按键。不过RIME文档没找到怎么做。如果右ctrl常用,映射到pause键也行,就87配列键盘右上角那个键,用一辈子电脑了从来不知道这个键干啥用。完了用PowerToy把caps改成pause
cmd + space 切换中英文怎么样。。。设置不成啊。。。好费力。。。
是的,我也在找但是,不知道 cmd 如何识别
左Control切换中文,左Shift切换英文,Escape切换英文
"key_binder/bindings":
- set_option: ascii_mode
accept: Escape
when: always
- set_option: ascii_mode
accept: Shift_L
when: always
- unset_option: ascii_mode
accept: Control_L
when: always
我最开始也是想映射到不在键盘上的按键。不过RIME文档没找到怎么做。如果右ctrl常用,映射到pause键也行,就87配列键盘右上角那个键,用一辈子电脑了从来不知道这个键干啥用。完了用PowerToy把caps改成pause
我已经试验成功了,可以使用F13-F22这些键,你先用AutoHotkey把别的键映射到这边,然后再用rime这么设置
问个问题,中文模式下,打了一些字符,未选择汉字前按 shift 是会有一个带下划线的待确认状态需要按 Enter 完成输出,请问能不能跳过这个状态直接把字符输出来并且切换到英文模式?
参考这个 https://gist.github.com/lotem/2981316
default.custom.yaml
中加行配置就好了
patch:
ascii_composer/switch_key/Shift_L: commit_code
设置在输入时使用
CAPS_LOCK
清除正输入的码,而不影响目前的中文小写输入应该如何设置?在
key_binder
设置- {accept: "Caps_Lock", send: Escape, when: composing}
可以清空,但会自动切换到大写。
这个方法可用 👍
我用下面的代码实现了和win自带输入法非常接近的功能,唯一的区别就是在中文输入中打开大写的时候,按空格会将预选栏的大写输入内容直接删除,且不上屏,但是可以用回车上屏,各位可以试试
ascii_composer: good_old_shift_l: false switch_key: Shift_L: commit_code Shift_R: commit_text Control_L: noop Control_R: noop Caps_Lock: noop Eisu_toggle: inline_ascii
我想请问哈,我以前是按cap就切换到大写,然后再按一下就切换到原来的输入方式,比如我之前是五笔输入,按一下就切换到大写字母,再按一下就切换回五笔,但现在不是了,我尝试了上面的可能,都不行,请问我要如何才能这样做呢,感谢
我想请问哈,我以前是按cap就切换到大写,然后再按一下就切换到原来的输入方式,比如我之前是五笔输入,按一下就切换到大写字母,再按一下就切换回五笔,但现在不是了,我尝试了上面的可能,都不行,请问我要如何才能这样做呢,感谢
ascii_composer/good_old_caps_lock: true
ascii_composer/switch_key:
Caps_Lock: commit_code
我想问一下,之前用搜狗输入法的习惯是 CapsLock 切换到英文大写,然后 Shift 可以切换到小写,这个怎么配置呢?
@lotem
请教一下,是否可以支持自定义组合键,并且ascii_composer可以指定为commit_code。
比如使用Control+space,并且在以commit_code模式切换英文。
配置过后不生效,请问如何让该配置文件生效?
配置文件在用户文件夹里,直接在系统托盘里右键就能找到
请问如何设置成:capslock灯亮的时候是中文,灯灭的时候是英文?
现在按上面设置,灯亮的时候是英文,灭的时候是中文。
如果我设置 ascii_mode/reset/1 的话,虽然最开始灯灭的时候是英文,但是按多几次又变回去了。
请问如何设置成:capslock灯亮的时候是中文,灯灭的时候是英文?
不支持的
能否这样设置按键,就是按一个快捷键时切换到英文,按另一个快捷键键切换到中文,而不是像现在这样的轮换
能否这样设置按键,就是按一个快捷键时切换到英文,按另一个快捷键键切换到中文,而不是像现在这样的轮换
能。
patch:
key_binder/bindings:
- { when: always, accept: Control+a, set_option: ascii_mode }
- { when: always, accept: Control+z, unset_option: ascii_mode }
能否这样设置按键,就是按一个快捷键时切换到英文,按另一个快捷键键切换到中文,而不是像现在这样的轮换
能。
patch: key_binder/bindings: - { when: always, accept: Control+a, set_option: ascii_mode } - { when: always, accept: Control+z, unset_option: ascii_mode }
ok,感谢
ascii_composer 的 patch 可以区分平台吗(squirrel 和 weasel)?只想在 weasel 上生效,但是放在 weasel.custom.yaml 中无效。
ascii_composer 的 patch 可以区分平台吗(squirrel 和 weasel)?只想在 weasel 上生效,但是放在 weasel.custom.yaml 中无效。
這個選項是在方案裏設置的。
可以在不同平臺上用略微不同的方案文件。
有Shift_L和Shift_R