Skip to content

Instantly share code, notes, and snippets.

@lotem
Last active April 15, 2025 02:04
Show Gist options
  • Save lotem/2981316 to your computer and use it in GitHub Desktop.
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
@lotem
Copy link
Author

lotem commented Mar 9, 2025

能否这样设置按键,就是按一个快捷键时切换到英文,按另一个快捷键键切换到中文,而不是像现在这样的轮换

能。

patch:
  key_binder/bindings:
    - { when: always, accept: Control+a, set_option: ascii_mode }
    - { when: always, accept: Control+z, unset_option: ascii_mode }

@sf467
Copy link

sf467 commented Mar 9, 2025

能否这样设置按键,就是按一个快捷键时切换到英文,按另一个快捷键键切换到中文,而不是像现在这样的轮换

能。

patch:
  key_binder/bindings:
    - { when: always, accept: Control+a, set_option: ascii_mode }
    - { when: always, accept: Control+z, unset_option: ascii_mode }

ok,感谢

@forsomeuse
Copy link

ascii_composer 的 patch 可以区分平台吗(squirrel 和 weasel)?只想在 weasel 上生效,但是放在 weasel.custom.yaml 中无效。

@lotem
Copy link
Author

lotem commented Apr 15, 2025

ascii_composer 的 patch 可以区分平台吗(squirrel 和 weasel)?只想在 weasel 上生效,但是放在 weasel.custom.yaml 中无效。

這個選項是在方案裏設置的。
可以在不同平臺上用略微不同的方案文件。

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