Skip to content

Instantly share code, notes, and snippets.

@lotem
Last active December 28, 2025 02:18
Show Gist options
  • Select an option

  • Save lotem/2981316 to your computer and use it in GitHub Desktop.

Select an option

Save lotem/2981316 to your computer and use it in GitHub Desktop.
使用 Control 鍵切換中西文,上屏已輸入的編碼;令 Caps Lock 改變字母的大小寫
# 中西文切換鍵的默認設置寫在 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
@Hanabi155
Copy link

Alt+Shift 切换中英文

沒有這個選項。 因爲 Alt+Shift 不是單個事件,要追蹤四個事件。

caps lock键是否也是因为比大小写锁定功能优先度要低之类的问题无法被作为快捷键呢?我只是想统一一下与微软的日文输入法的快捷键,避免按错的情况,但我的尝试最终以失败告终……以及几乎所有的输入法(包括rime,即使我没有在默认配置文件里找到相关的东西)在Windows 11按下ctrl+space键都会触发切换中西文,这是否是微软暴力设置快捷键所导致的(它与webstorm等一众IDE的代码补全快捷键冲突,令我非常苦恼)

@jerry4718
Copy link

jerry4718 commented Dec 24, 2025

我想要在中文模式下,偶尔输入英文,于是配置了Shift为commit_code, 如果用commit_code,在输入后,要重新切回中文, 如果用Enter键上屏,偶尔有些地方会触发Enter的事件(应该不是rime的问题,其他输入方式也会遇见)

所以我想问,怎样配置Shift像Enter那样,仅上屏字母,但是不切换为英文

我试了这样可以奏效

patch:
  key_binder/bindings:
    - { accept: Shift_L, when: has_menu, send: Return }
    - { accept: Shift_R, when: has_menu, send: Return }

@majiangla
Copy link

@lotem 请教一下,是否可以支持自定义组合键,并且ascii_composer可以指定为commit_code。 比如使用Control+space,并且在以commit_code模式切换英文。

我尝试这样
key_binder:
bindings:
- {accept: Control+Space, when: has_menu, set_option: commit_code }
没用,有人解决了吗

@lotem
Copy link
Author

lotem commented Dec 28, 2025

@lotem 请教一下,是否可以支持自定义组合键,并且ascii_composer可以指定为commit_code。 比如使用Control+space,并且在以commit_code模式切换英文。

我尝试这样 key_binder: bindings: - {accept: Control+Space, when: has_menu, set_option: commit_code } 没用,有人解决了吗

這樣無效。

Control+space 在 Windows 上通常是系統預定義的快捷鍵。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment