设置说明

按键设置

中英文切换键、候选词管理、候选操作键组、功能快捷键与全局热键,以及按键冲突的判定与优先级

v0.122.0

设置工具的「按键」页分四张卡片:中英文切换候选词管理候选操作功能快捷键

对应配置段是 config.toml[keys],完整键名、可选值与默认值见按键配置

中英文切换

选项说明出厂
切换按键用于切换中英文的修饰键,可多选,按下任意一个即切换左 Shift、右 Shift
切换时编码上屏中文切到英文时,把已输入的编码直接上屏(关则丢弃)

可选按键:左 Shift、右 Shift、左 Ctrl、右 Ctrl、Caps Lock。

是「轻敲」不是「按住」

这些键在松开时才触发切换,且只认轻敲——按住超过约 500 毫秒、或按下期间碰了别的键,都不算切换。这样 Ctrl + AShift + 字母 这类组合才不会被误判。

候选词管理

功能可选出厂
置顶词条Ctrl + 数字 / Ctrl + Shift + 数字 / 不使用Ctrl + 数字
删除词条Ctrl + 数字 / Ctrl + Shift + 数字 / 不使用Ctrl + Shift + 数字

置顶把候选固定到首位;删除隐藏该候选(单字不可删除)。产生的规则可在词库页的候选调整里查看与撤销。

这两项只认这两种模板写法,不能配成任意组合键。两者也不能配成相同的组合。

候选窗快捷键的分派优先级最高

这一层在临时英文 / 临时拼音 / 快捷输入 / 网址输入 / 引导键特殊模式的 Ctrl / Alt 守卫之前分派——所以配成候选窗快捷键的组合,在这五种模式里也照样能用。

候选操作

四组键,每组都可多选。

次选 / 三选快捷键

选中第 2、3 位候选词。出厂:分号/引号。

选项第 2 候选第 3 候选
分号/引号;'
逗号/句号,.
左/右 Shift左 Shift右 Shift
左/右 Ctrl左 Ctrl右 Ctrl

修饰键组同样走「轻敲」判定(松开时触发、限时 500 ms、中途按别的键即取消)。

高亮移动按键

在候选列表中移动选中项。出厂:两组都开。

选项上移下移
方向键
TabShift + TabTab

翻页快捷键

出厂:PageUp/PageDown、减号/等号。

选项上一页下一页
PageUp / PageDownPageUpPageDown
减号/等号-=
方括号[]
Shift+Tab / TabShift + TabTab
逗号/句号,.

以词定字

输入词组后按指定键只取第 1 或第 2 个字。出厂全部关闭

选项取第 1 字取第 2 字
逗号/句号,.
减号/等号-=
方括号[]

词长不足时的行为由候选无效按键决定。

自定义按键 0.118 新增

上面「候选操作」那四项是按组勾选的常用形态。要逐键指定,用这一节的两个入口:

入口管什么能配什么
全局自定义按键给一个键指定功能进临时拼音 / 临时英文 / 辅助码筛选 / 快捷输入 / 特殊模式、切换方案、中英文切换等
全局自定义输入中按键这个键在输入中(有编码或候选)干什么翻页、高亮移动、选第 N 个候选、以词定字、放弃当前输入、辅助码筛选

「辅助码筛选」两处都有,不是重复:两张表认得的键名不一样——上面那张只认符号键、字母 z 与四个修饰键,Tab / PageDown / 方向键要走下面那张。

两者是两张表而不是一张,同一个键在两处可以是两个动作——Tab 输入中翻页、没在输入时仍是宿主的制表符。

分野不是「空闲时 vs 输入中」

「全局自定义按键」里配的键在输入中同样能按:组合键走热键、修饰键走松开轻敲、有字符的键会先把已有编码上屏再执行。「轻敲右 Shift 切中英文」正是打字中途最常用的一个。

真正的差别是「全局自定义输入中按键」在有编码或候选时生效,管的是对这段输入本身的操作。

与「候选操作」那四项的关系:四项会被折算进「全局自定义输入中按键」同一张表,本表里显式配的键优先。所以想改翻页键,勾选项和这里改哪边都行;只有需要「某个键在打字时干一件勾选项里没有的事」时才必须来这里。

怎么配

两个入口的界面一样:一行一条绑定,显示成 [按键] [功能],右侧「修改 / 删除」,左下角「添加」。点「添加」或「修改」弹出按键选择对话框,分两段选:

  1. 按键——先选「单个按键」还是「组合键」。组合键勾修饰键再选基础键,下方实时显示合成结果。
  2. 功能——先选分类(不启用 / 输入模式 / 切换方案 / 状态切换 / 工具),再选具体功能。

功能列表随所选按键变化,这不是界面在藏东西,而是内核对这两张表的裁决本就分键的形态:

你选的键能配的功能
组合键(Ctrl + Shift + R与单个按键一样多 0.122 新增,中英文切换、临时拼音、快捷输入这些以前只有单键能配的现在都能绑;只有「造词」两项仍在功能快捷键里设。0.121 及以前只能配「切换方案」与「特殊模式」
纯修饰键(左右 Shift / Ctrl)全部
有字符的键(`;\z除「中英文切换 / 循环切换方案 / 切换方案」外的全部——那几个绑上去是单程票,切到英文方案就按不回来

功能列表变短时下方会说明原因

换一个键会让某些分类整个消失(选 \ 之后「切换方案」「状态切换」就不在列表里了)。对话框下方那行灰字会写清是哪一类、为什么、该改用什么键。看不到想要的功能时先读它。

配组合键时,如果这个组合会被 Windows 先拿走,对话框下方会多出一行提示 0.122 新增,分两档:

提示什么键含义
Windows 系统快捷键,输入法收不到Win + 任意键Alt + Tab / Alt + Space / Alt + F4键根本到不了输入法这一层,请换一个
Windows 输入法热键,可能被系统占用Ctrl + Shift左 Alt + Shift 等「输入语言热键」的默认值多数机器上仍能正常用,不生效时先想到它

被系统抢走时日志里一个字都不会有——键没到输入法,自然无从记录,所以这行提示是唯一的线索。

「全局自定义输入中按键」只认 Shift 一种修饰键,所以它的组合键那档没有 Ctrl / Alt / Win。

对应的配置键是 keys.key_actionskeys.session_actions。方案文件里还能各写一份只对该方案生效的,见方案设置

功能快捷键

每项以「修饰键 + 主键」的形式在对话框中编辑。留空即不绑定该功能。

功能默认快捷键可设全局
切换输入方案Ctrl + Shift + E
切换全角/半角Shift + Space
切换中/英文标点Ctrl + .
切换简入繁出Ctrl + Shift + J
显示/隐藏工具栏Ctrl + Shift + \
打开设置Ctrl + Shift + ]
快捷加词Ctrl + =——
打开加词界面Ctrl + Shift + =——
切换到本输入法Ctrl + Shift + [天生全局
  • 快捷加词 / 打开加词界面——都需要当前的输入上下文,只在中文模式生效。这两个键额外走系统级拦截,规避 QQNT / Tabby 等宿主的加速键双处理
  • 切换到本输入法——在任意应用中一键切回清风。它经 Windows 的输入法直接切换机制(DirectSwitchHotkeys 注册表)注册,由系统 ctfmon 原生处理,天生全局,不参与下面的全局热键列表

另有「界面截图」快捷键(默认 Ctrl + Shift + F11)未在设置界面暴露,仅可在配置文件中修改,见按键配置

全局热键

默认情况下,快捷键只在输入法激活时响应。在热键编辑对话框中勾选「全局」,即可注册为系统全局快捷键——输入法未激活时也生效。

上表标 ✅ 的六项加上「界面截图」共 7 个功能支持全局。设置界面当前只暴露「打开设置」的全局勾选,其余可在配置文件的 keys.global_hotkeys 里直接填写。

方案直达热键

给单个方案绑一个键,按下直接切过去,不必循环。它不在本页配,而在方案页 → 选中方案 → 设置 → 按键设置 → 切换到本方案按键,见方案设置

它落在全局 keys.key_actions 里,所以配完之后也会出现在本页的「全局自定义按键」列表里,是同一条绑定的两个入口。在这里删掉它,方案那边的「切换到本方案按键」也就跟着清了。

同样地,引导键特殊模式的直达热键也在那里配。但它们与本页的功能快捷键在内核里是同一张表,会互相冲突——见下。

冲突与优先级

同一个物理键被两处配置争用时,会发生什么?答案取决于内核对这次争用的实际处置,分两种情况。

设置工具会实时检测,两种情况的呈现也不同:

级别内核行为你会看到
真冲突两个功能在同一输入状态下都想要这个键,内核只能选一个 → 另一个静默失效内容区顶部的琥珀色常驻警告条,改到没有为止
共存有确定的分时裁决,两个功能都能用,只是生效条件不同刚配出这个组合时弹一次提示,说明实际行为

三个场景域,跨域不算冲突

内核对一次按键的处理是状态相关的:同一个键在不同输入状态下被路由到不同功能。所以「同一物理键被多个功能使用」未必是冲突——只有两个功能在同一输入状态下都可能响应,才是真冲突。

据此分成三个场景域,只在域内检测:

生效输入状态覆盖哪些设置争用时谁赢
触发键空缓冲、无候选临时拼音触发键、临时英文触发键、快捷输入触发键、引导键固定优先级链:临时英文 > 临时拼音 > 引导键特殊模式 > 快捷输入
候选键有候选时次选/三选、翻页、高亮移动、以词定字,以及中英文切换键(见下)以词定字先于翻页;次选键先于混输触发键的溢出分支
快捷键组合键命令9 个功能快捷键 + 置顶/删除词条 + 方案直达热键 + 模式直达热键同一张 key_down 表,先注册者赢,后者静默失效

举例:; 在空缓冲态是临时拼音触发键、在有候选态是次选键,二者分时复用,不算冲突,也不会提示。

方案直达热键最容易撞车

方案直达热键与模式直达热键与本页的功能快捷键同属快捷键域。在方案管理对话框里把某方案配成 Ctrl + Shift + E(正好是「切换输入方案」的出厂值)是点得出来的操作——现在会给出警告,此前完全没有提示。

置顶/删除词条会展开成十个键再比

它们的值是模板 ctrl+number,检测时展开成 Ctrl+0Ctrl+9 十个具体键。所以「把打开设置配成 Ctrl+1」会被检出与置顶词条重叠。同一对分组撞多个键时文案会合并成一条。

唯一的共存:中英切换键 vs 次选键

把左/右 Shift 同时配成「中英文切换」和「次选/三选键」,是可用的设计,不是冲突。内核的裁决:

状态行为
有候选、位次够选中该候选,不切中英文
有候选、但页内候选不足该位次吞掉这个键,既不选也不切
无候选切换中英文

两个功能都能用,只是生效条件不同。所以设置工具只在你刚配出这个组合时提示一次,不会挂常驻警告条。

为什么修饰键选词在松开时判定

纯修饰键的按下事件不能吃——吃了宿主程序就看不见修饰键,AutoCAD 的正交模式会失效并卡顿;而且在按下时判定会让 Ctrl + A 的第一下 Ctrl 就把候选选走。所以修饰键选词与中英切换都在松开时处理,并复用同一套「轻敲」判定。

已知不检测的一处

混输触发键与次选键的候选态争用不参与检测。混输触发键(如快捷输入的 ;)在空缓冲态是触发键,在有候选态还会作为次选溢出分支被检查。这一层由内核按「次选优先」解决,行为可控,故只在文档说明、不报警告。

对这篇文档有疑问,或发现内容有误?

欢迎到文档仓库提 issue,写明问题时附上本页链接即可。

去提 issue →

本页目录