feat(settings): 新设置程序在 macOS 上也显示中英切换键

#579 的开关写在旧偏好设置里,那时新设置程序还没转正;支持表里 mac 改成支持,只列单击 Shift(单击 Ctrl 与 Ctrl + Alt + Space mac 没做,另记一项)。文档改指新设置程序,补上英文版。
This commit is contained in:
yenharvey
2026-10-26 12:32:38 +08:00
parent 91a3374de5
commit 5dccfdff09
6 changed files with 29 additions and 8 deletions
+10 -4
View File
@@ -18,6 +18,8 @@ pub enum Feature {
Schemes,
/// 中英文切换键。
SwitchKeys,
/// 切换键里的单击 Ctrl 与 Ctrl + Alt + Space:macOS 只认单击 Shift。
SwitchKeyCombos,
/// 切换键里的「Ctrl + Space(系统)」:改的是 Windows 的系统热键。
SystemCtrlSpace,
DefaultEnglish,
@@ -50,10 +52,11 @@ pub enum Feature {
impl Feature {
#[cfg(test)]
pub const ALL: [Self; 21] = [
pub const ALL: [Self; 22] = [
Self::AuxCode,
Self::Schemes,
Self::SwitchKeys,
Self::SwitchKeyCombos,
Self::SystemCtrlSpace,
Self::DefaultEnglish,
Self::RememberModePerApp,
@@ -94,8 +97,9 @@ impl Feature {
match self {
Self::AuxCode => [Yes, Yes, Todo],
Self::Schemes => [Yes, Yes, Todo],
// macOS 用 Caps Lock,由系统决定
Self::SwitchKeys => [No, Yes, Yes],
Self::SwitchKeys => [Yes, Yes, Yes],
// macOS 只做了单击 Shift,Caps Lock 仍是系统那一套
Self::SwitchKeyCombos => [No, Yes, Yes],
Self::SystemCtrlSpace => [No, Yes, No],
Self::DefaultEnglish => [Todo, Yes, Yes],
Self::RememberModePerApp => [Todo, Yes, Todo],
@@ -130,6 +134,7 @@ impl Feature {
Self::AuxCode => "辅码",
Self::Schemes => "形码与自定义方案",
Self::SwitchKeys => "中英文切换键",
Self::SwitchKeyCombos => "单击 Ctrl 与 Ctrl + Alt + Space 切换",
Self::SystemCtrlSpace => "系统的 Ctrl + Space",
Self::DefaultEnglish => "默认英文模式",
Self::RememberModePerApp => "按应用记住中英模式",
@@ -179,7 +184,8 @@ impl Feature {
Self::KeyHint => &[(PageId::Input, "键位提示")],
Self::ShowTones => &[(PageId::Candidates, "拼音行显示声调")],
Self::NumpadDigit => &[(PageId::Candidates, "小键盘数字")],
Self::SystemCtrlSpace
Self::SwitchKeyCombos
| Self::SystemCtrlSpace
| Self::EnglishPunctuation
| Self::StatusBar
| Self::HorizontalGrid
+12 -1
View File
@@ -185,10 +185,15 @@ fn width_label(full: bool) -> &'static str {
}
/// 中英切换键可以多选,一个都不勾就只剩按钮能切;最后一个是 Windows 自己的 Ctrl + Space,改的是系统设置。
/// macOS 只有单击 Shift 一项,勾上后 Caps Lock 只管大小写。
fn switch_keys(ui: &mut Ui<Message>, page: &Page) -> Result<NodeId, RenderError> {
let keys = page.settings.config.shortcut.switch_mode;
let combos = Feature::SwitchKeyCombos.here();
let mut boxes = Vec::new();
for key in SwitchKey::ALL {
if !combos && key != SwitchKey::Shift {
continue;
}
let on = keys.contains(key);
let values = keys
.with(key, !on)
@@ -225,7 +230,13 @@ fn switch_keys(ui: &mut Ui<Message>, page: &Page) -> Result<NodeId, RenderError>
with_notice(
ui,
page,
SettingRow::new("切换键").info("可以多选").control(column),
SettingRow::new("切换键")
.info(if combos {
"可以多选"
} else {
"勾上后 Caps Lock 只管大小写"
})
.control(column),
"switch-keys",
)
}
+1 -1
View File
@@ -11,7 +11,7 @@ description: 青简在 macOS、Windows 与 Linux 上的缺省按键:切换、
| 操作 | macOS | Windows | Linux |
|---|---|---|---|
| 中 / 英切换 | `Caps Lock`;在「偏好设置 → 快捷键」勾上「单击 Shift 切换中英文」后也可单击 `Shift`(此时 `Caps Lock` 只管大小写)。切换时屏幕右上角闪一个「中」/「英」提示 | 单击 `Shift`;系统的 `Ctrl + Space`;点任务栏或悬浮状态条上的「中 / 英」 | 单击 `Shift` |
| 中 / 英切换 | `Caps Lock`;在「设置 → 中英文」的「切换键」里勾上「单击 Shift」后也可单击 `Shift`(此时 `Caps Lock` 只管大小写)。切换时屏幕右上角闪一个「中」/「英」提示 | 单击 `Shift`;系统的 `Ctrl + Space`;点任务栏或悬浮状态条上的「中 / 英」 | 单击 `Shift` |
| 直接输入大写英文 | 英文模式下按住 `⇧`;勾了单击 Shift 后 `Caps Lock` 亮着也是大写 | `Caps Lock` 亮起(中英模式均可) | `Caps Lock` 亮起 |
| 输入拼音时临时打一个大写字母 | `⇧ + 字母` | `Shift + 字母` | `Shift + 字母` |
| 切换全角 / 半角标点 | 可启用 `⌃ + .`(缺省关) | 点悬浮状态条上的「,。」格;可启用 `Ctrl + .`(缺省关) | — |
+1 -1
View File
@@ -11,7 +11,7 @@ For keys you can change, see [Changing keys](../personalize/keys-settings.md); A
| Action | macOS | Windows | Linux |
|---|---|---|---|
| Switch Chinese / English | `Caps Lock` | Tap `Shift`; the system's `Ctrl + Space`; click 中 / 英 on the taskbar or the floating status bar | Tap `Shift` |
| Switch Chinese / English | `Caps Lock`; after ticking 单击 Shift (Tap Shift) under 切换键 (Switch key) in 设置 → 中英文 (Settings → Chinese/English), also a tap of `Shift` (`Caps Lock` then only controls capitals). A 中 / 英 hint flashes in the top-right corner of the screen when you switch | Tap `Shift`; the system's `Ctrl + Space`; click 中 / 英 on the taskbar or the floating status bar | Tap `Shift` |
| Type uppercase English directly | Hold `⇧` in English mode | `Caps Lock` on (in either mode) | `Caps Lock` on |
| Type one capital letter while typing pinyin | `⇧ + letter` | `Shift + letter` | `Shift + letter` |
| Switch full-width / half-width punctuation | `⌃ + .` can be enabled (off by default) | Click the ,。 cell on the floating status bar; `Ctrl + .` can be enabled (off by default) | — |
+4
View File
@@ -9,6 +9,10 @@ description: "Entering English mode, changing or turning off the Chinese/English
- **macOS**: English mode is on while the `Caps Lock` light is on; turn it off to return to Chinese.
If you want `Caps Lock` to switch between Qingjian and "ABC" the way the system pinyin input does, turn on the option to switch to ABC with Caps Lock in System Settings → Keyboard → Text Input → Edit:
a quick press of `Caps Lock` then switches input methods and holding it still locks capitals; Qingjian's own English mode is no longer needed.
You can also tick 单击 Shift (Tap Shift) under 切换键 (Switch key) in 设置 → 中英文 (Settings → Chinese/English): a tap of `Shift` (press and release on its own) then switches between Chinese and English.
Leave it off if you often hit Shift by accident while typing. Once it's on, `Caps Lock` only controls capitals, so with it lit you type capital letters directly.
A 中 / 英 hint flashes in the top-right corner of the screen when you switch (with Tap Shift on, toggling `Caps Lock` flashes 大写 / 小写, capitals / lowercase).
**Tapping Shift while typing pinyin**: the letters you've typed are committed as they are (`nihao` → `nihao`) and English mode starts, so you don't need to press Enter first.
- **Windows**: tap `Shift` (press and release on its own, without another key) to switch between Chinese and English. The taskbar shows 中 or 英 to match, and A while Caps Lock is on.
Clicking the 中 / 英 icon on the taskbar also switches.
On Windows, `Caps Lock` only controls case: while it's on, capital letters are typed directly in either mode (as with Microsoft Pinyin).
+1 -1
View File
@@ -9,7 +9,7 @@ description: 进入英文模式、改掉或关掉中英切换、默认模式与
- **macOS**:`Caps Lock` 亮起为英文模式,熄灭回到中文。
想让 `Caps Lock` 像系统拼音那样在青简与「ABC」之间切换输入法,在「系统设置 → 键盘 → 文本输入 → 编辑」里打开用 Caps Lock 切换「ABC」的选项:
轻按 `Caps Lock` 切换输入法,按住仍是大写锁定;这时青简自己的英文模式就用不到了。
也可以在「偏好设置 → 快捷键」勾上「单击 Shift 切换中英文」:此后点一下 `Shift`(按下即松开、不与其他键组合)在中 / 英之间切换,
也可以在「设置 → 中英文」的「切换键」里勾上「单击 Shift」:此后点一下 `Shift`(按下即松开、不与其他键组合)在中 / 英之间切换,
打字时误触 Shift 的话不用勾;勾上后 `Caps Lock` 退化成只管大小写,亮着直接输出大写英文。
切换的那一刻屏幕右上角会闪一个「中」/「英」提示(勾了单击 Shift 后,`Caps Lock` 切大小写也会闪「大写」/「小写」)。
**正在输入拼音时点 Shift**:已经敲的拼音按原样当英文上屏(`nihao` → `nihao`),再进入英文模式 —— 不用先回车再切。