按键配置
keys 域全部配置项——中英切换、候选选择与翻页、以词定字、按键功能表、功能快捷键、全局热键
高级主题
普通用户在设置工具的"快捷键"页即可完成全部按键设置,修改即时生效。本页面向手动编辑 config.toml 的用户,逐项列出 [keys] 域的类型、可选值与默认值。
[keys] 域收纳输入法的全部按键绑定:中英切换键、引擎切换与状态切换快捷键、候选选择/翻页/高亮/以词定字键组、功能快捷键,以及全局热键。该域是扁平结构——除无效按键策略下沉到 [keys.overflow] 一层子表外,其余字段都直接挂在 [keys] 下。
字段分两类:
- 热键字符串(如
switch_engine):单个组合键,格式见下方"热键字符串格式"。 - 键组数组(如
page_keys):值不是键名而是键组常量(一个常量代表一对物理按键),可多选、以数组给出。每个这类字段下方都附一张"可选值 → 物理按键"对照表。
热键字符串格式
热键字符串由修饰键 + + + 主键组成,大小写不敏感、可含空格。
- 修饰键:
ctrl(=control)、shift、alt、win(=super)。 - 主键:字母
a–z;数字0–9;功能键f1–f12;space/enter/tab/esc/backspace/delete/home/end/pageup/pagedown/ 方向键up/down/left/right;标点符号可用符号本身或英文名,如.(=period)、,(=comma)、;(=semicolon)、'(=quote)、/(=slash)、\(=backslash)、[(=lbracket)、](=rbracket)、-(=minus)、=(=equal)、`(=grave)。 - 空串或
none表示不绑定该功能。 - 只允许一个主键;写多个主键会被判为无效并忽略。
TOML 里的反斜杠
toggle_toolbar 默认值含反斜杠,在 TOML 中需用单引号字符串写成 'ctrl+shift+\',否则双引号里的 \ 会被当作转义符。
中英切换
[keys]
toggle_mode_keys = ["lshift", "rshift"] # 中英切换键(键松开时触发)
commit_on_switch = true # 切到英文、切换方案时是否上屏未完成的组合| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
toggle_mode_keys | 字符串数组 | lshift / rshift / lctrl / rctrl / capslock | ["lshift", "rshift"] | 单击并松开这些修饰键即切换中/英文模式。可多选,空数组=禁用点击切换 |
commit_on_switch | 布尔 | true / false | true | 从中文切到英文、或切换输入方案 0.119 新增 时若有未上屏的组合:true=上屏原始编码,false=直接丢弃 |
toggle_mode_keys 可选值对照:
| 可选值 | 物理按键 |
|---|---|
lshift | 左 Shift |
rshift | 右 Shift |
lctrl | 左 Ctrl |
rctrl | 右 Ctrl |
capslock | Caps Lock |
状态切换快捷键
[keys]
switch_engine = "ctrl+shift+e" # 循环切换输入方案
toggle_full_width = "shift+space" # 全角/半角切换
toggle_punct = "ctrl+." # 中文/英文标点切换
toggle_s2t = "ctrl+shift+j" # 简体/繁体输出切换
toggle_t2s = "none" # 繁入简出开关,出厂不绑| 键 | 类型 | 默认 | 说明 |
|---|---|---|---|
switch_engine | 热键字符串 | ctrl+shift+e | 在 [schema].available 列表内循环切换当前方案 |
toggle_full_width | 热键字符串 | shift+space | 切换全角/半角字符输出 |
toggle_punct | 热键字符串 | ctrl+. | 切换中文/英文标点(仅中文模式下生效) |
toggle_s2t | 热键字符串 | ctrl+shift+j | 切换简体/繁体输出(仅中文模式下生效) |
toggle_t2s 0.121 新增 | 热键字符串 | "none" | 开关繁入简出(词库是繁体、上屏转简体),仅中文模式下生效。"none" = 不绑,要用请自己填一个组合键。与 toggle_s2t 互斥,开一个会自动关掉另一个 |
方案直达热键
switch_engine 是循环切换,方案多了就要按好几次。给单个方案绑一个键,按下直接切过去:
[keys.key_actions]
"ctrl+shift+w" = "switch_schema:wubi86" # 单向:切过去就完了
"ctrl+shift+n" = "toggle_schema:english" # 往返:再按一次回到原来那个方案设置工具里的位置:方案 → 输入方案 → 选中方案 → 设置 → 进入方式 → 直达热键(写的是 switch_schema:)。
行为与 switch_engine 完全一致——同样遵循「切换时是否上屏」,同样把选择持久化到 schema.active。两种模式下都生效,这一点和其它中文态专属的快捷键不同:切到英文方案之后,还得能按键切回来。
指向不存在或未启用方案的条目会被安静忽略,不影响其它绑定;目标方案正在后台预热时提示「准备中…」并保持当前方案不变。
与临时模式的区别
key_actions 里 special: / mix: / temp_pinyin 那批动词进的是临时模式——打完一段自动退回原方案。switch_schema: 与 toggle_schema: 是换方案:前者切过去就完了,后者再按一次回到你原来那个方案。要「临时打几个字符就回来」用临时模式,要「切过去待一会儿」用换方案。
方案级的单向切换没有回程
方案文件的 [key_actions] 按活跃方案查表。写在那里的 switch_schema: 切过去之后,那个键在目标方案里不再做事(也不会转而执行全局同名绑定),回程得另配一个键。想让同一个键管来回,用 toggle_schema:——它的回程由运行时来源兜底,不要求目标方案配一个对称的键。
按键功能表(key_actions)0.115 新增
上面那批热键是「一个功能一个字段」。key_actions 是通用的「键 → 干什么」表:左边任意键名,右边一个动词。引导键、临时模式入口、方案往返键都统一住在这里。
[keys.key_actions]
backslash = "special:quick_symbols" # \ 进快符
backtick = "temp_pinyin" # ` 进临时拼音
semicolon = "mix:quick_mix" # ; 进快捷输入
"ctrl+shift+u" = "special:quick_symbols" # 快符的直达热键
rshift = "toggle_schema:english" # 轻敲右 Shift 切英文方案,再敲回来动词值域:
| 动词 | 含义 |
|---|---|
temp_pinyin / temp_english | 进临时拼音 / 临时英文 |
aux_code 0.118 新增 | 进辅助码筛选:对已出的拼音候选按字形二次过滤。需已开启辅助码且当前有候选。与翻页共用一个键的写法(aux_code:page_next)只有 session_actions 有 |
mix:<实例id> | 进指定融合模式(mix:quick_mix = 内置快捷输入) |
special:<方案id> | 进指定引导键特殊模式——方案须已声明 [overlay] 段 |
toggle_schema:<方案id> | 切到指定方案,再按一次回到来源(往返,不要求目标方案配对称的绑定) |
switch_schema:<方案id> 0.118 新增 | 切到指定方案,单向。写在方案级时切过去就没有回程了,见下方提示 |
toggle_mode、switch_engine、toggle_punct、toggle_s2t、toggle_t2s 0.121 新增、toggle_full_width、toggle_toolbar、open_settings、take_screenshot | 与同名快捷键完全一样的状态切换 |
single_char 0.121 新增 | 开关单字输入(候选只出单字)。裸写 = 切换;也可写 single_char:on / :off / :toggle 直达,:follow 取消临时切换、回到配置里的值。切的是临时态,不写配置——重启或切方案后失效 |
softkeyboard 0.120 新增 | 开 / 关软键盘面板。开关键的出厂绑定不在本表,而在 [keys] softkeyboard(见上方功能快捷键) |
softkeyboard:<面id> 0.120 新增 | 开软键盘并直接切到那一面(面 id 见 system.softkeyboard.toml,如 punct / num / math / greek)。已开着时按它只切面、不关闭,所以给几个面各配一个键不会互相打架 |
none | 显式什么都不做。这是关掉低层预置绑定的唯一手段:本表逐键深合并,在设置页删掉一行压不住随程序分发的 data\config.toml(或定制版 data_custom\config.toml)里写的同一个键——只有显式写 none 才是「本层表态:这个键别干活」。方案级覆盖里关掉某个全局绑定同理 |
写错的动词会被整条丢弃并在日志里告警,不会静默变成别的功能。
键的形态决定走哪条通路
同一张表里的条目按键的形态自动分流,不由动词决定,也不需要你指定:
| 键的形态 | 通路 | 为什么 |
|---|---|---|
组合键(ctrl+shift+u) | 热键 | 不与输入争键,可全局拦截 |
纯修饰键(rshift、lctrl) | 松开时的轻敲判定 | 按下时不能吃——宿主还要看到这个修饰键 |
单个有字符的键(backslash、;) | 引导键链 | 排在中英文分水岭之后,英文模式下照常出字符 |
同一个键在两处配,只有一处生效
功能快捷键那些字段(switch_engine、toggle_s2t 等)与本表编译进同一张热键表,且排在本表前面——同一个组合键两处都配时,本表这条会静默失效。
设置页的按键总览会把重复的键标橙;手写配置时请先翻一遍功能快捷键那几项占用了什么。出厂就有几个占用(例如 toggle_s2t 占着 Ctrl+Shift+J)。
切方案 / 切中英文只能绑修饰键
toggle_mode、switch_engine、toggle_schema:*、switch_schema:* 这几类只接受修饰键与组合键,绑到单个有字符的键上会被拒绝。
理由是单程票问题:有字符的键走引导键链,而那条链在英文模式分水岭之后、英文态根本到不了。用 \ 切去英文方案之后,\ 就只会打出反斜杠,再也切不回来。这三个动词恰恰是「从英文态出来」的手段,所以必须绑在英文态也能生效的修饰键上。
组合键能配的功能与单键一样多 0.122 新增
组合键接受本表的全部动词——包括 toggle_mode(中英文切换)、temp_pinyin、mix:、single_char 这些以前只有单键能配的。想把中英文切换配成 Ctrl+Space 这类组合键,现在可以了。
在此之前组合键只认 toggle_schema:、switch_schema:、special:、rare_char、softkeyboard 五类,其余动词配上去会被整条丢弃、只在日志里告警一句。那是历史遗留而非设计限制:组合键这条通路本就不与输入争键、可全局拦截,限制反倒最少才对。
唯二配不了的是 add_word 与 open_add_word_dialog:它们要接管后续的全部按键,请到功能快捷键里设置。
方案级覆盖
方案文件(或 schema_overrides\<方案ID>.toml)也能写一份 [key_actions],只在该方案作当前方案时生效,逐键覆盖全局那份:
# wubi86.schema.toml
[key_actions]
z = "temp_pinyin" # 五笔里借 z 打拼音
backslash = "none" # 本方案关掉全局配的 \ 引导键字母键只能按方案配,不能写进全局表:字母天然是编码键,能不能借用取决于这张码表里它是不是死码。全局表里配字母就成了无条件抢键,那个字母在所有方案里都打不出编码了。
要在某个方案里关掉一个全局绑定,写显式的 "none"。覆盖是深合并,只能新增或改写——从覆盖文件里删掉一行是删不掉全局那条的。
英文状态下这份表整表不生效
切到英文状态(半角英文,非英文方案)后,当前方案的 [key_actions] 连同它的 z 引导键一起不再参与查表,按键一律按全局那份表执行。那时方案本身已经不参与输入(编码、标点、候选都不工作),它的按键表也就跟着退场。
所以「在英文状态下按某个键切回某个方案」这类需求要配在全局表里。反过来,如果你依赖某个方案级绑定在英文状态下也生效,需要在全局表里补一份。
字母键让位给编码,所以别用 z 进特殊模式
绑了功能的字母键,若在当前码表里是活码(这个字母开头有真实编码或短语),按下时会让位给正常输入,不进模式。这是刻意的:编码优先。
z 尤其要注意——出厂词库自带 37 条 zz 开头的标点短语(zzbd、zzsz 等),所以在任何方案里 z 都是活码,按下去总是先当编码。
之后能被捞回来的只有三个动词:temp_pinyin、temp_english、mix:<id>。继续打出该码表里查不到的编码时(如 znihao),输入法会把 z 夺回来转交模式,而 zzbd 这类真实短语照常工作。
special:<方案id> 没有这条回捞通路——特殊模式的码表是作者设计的短码,去掉 z 之后的残余多半查不到,且它常开「进入即展示候选」,价值恰恰在按下那一刻。所以特殊模式请用 \、` 这类在码表里不产出编码的符号键。
会话态按键功能表(session_actions) 0.115 新增
key_actions 给一个键指定功能(进模式、切方案、切状态);session_actions 管的是「正在打字(有编码或候选)时这个键干什么」。两张表,同一个键在两处可以是两个动作——Tab 打字时翻页、没在打字时仍是宿主的制表符。
分野不是「空闲时 vs 输入中」
key_actions 的三条通路在打字中同样触发:组合键走热键、修饰键走松开轻敲、有字符的键先把已有编码上屏再执行。「轻敲右 Shift 切中英文」正是打字中途最常用的一个。
真正的差别是:session_actions 只在有编码或候选时生效,且管的是对这段输入本身的操作(翻页、选词、放弃)。
[keys]
session_actions = {} # 出厂为空;例:{ tab = "page_next", "shift+tab" = "page_prev" }| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
session_actions | 表(键名 → 动词) | 见下 | {} | 打字期间的「键 → 干什么」表,只存你显式配的键 |
- 键名:
tab/shift+tab/capslock/pageup/pagedown/up/down/left/right/home/end,以及符号键minus、equal、lbracket、rbracket、comma、period、semicolon、quote等;字母只收z0.118 新增。只认shift+一种前缀;带 Ctrl / Alt 的组合键请写在上面的key_actions里。 - 动词:
page_prev/page_next(翻页)、highlight_up/highlight_down(高亮移动)、cancel(放弃当前输入,等同 Esc;别名clear)、none(在打字态禁用该键)、select_candidate:N(选中当前页第 N 个候选,N 从 1 起,2即次选键)、select_char:N(以词定字,取高亮候选词的第 N 个字)。两个 N 的取值范围都是 1–9。此外还有aux_code0.118 新增(进辅助码筛选)——它同时也是key_actions的动词,两处通向同一个功能,差别只在哪些键名解析得出来:本表认得tab/pagedown/ 方向键,key_actions只认符号键、字母z与四个修饰键。 single_char0.121 新增:开关单字输入,动词与key_actions那份完全一样(single_char:on/:off/:toggle/:follow)。按下即开关并就地重出候选,不会把正在打的码上屏。写在本表意味着「只在打字时管用」——绑在 Tab 上,没打字时 Tab 仍是宿主的制表符。- 与翻页共用一个键:写
aux_code:page_next0.118 新增,能进辅助码就进、进不去就翻下一页。于是tab = "aux_code:page_next"一键两用:第一次按进筛选,之后按继续翻页;辅助码没开、方案没配码表时它就是个纯翻页键,空闲无候选时仍原样交还给应用。这个形态只有本表有——key_actions解析不出翻页键。
本表与下面的 page_keys / highlight_keys / select_key_groups / select_char_keys 各自独立保存,运行时才合并(本表写了的键优先)——改一处不会动到另一处。出厂默认留在那四项里,这样把它们清成 [] 就真的能关掉对应功能。撞键时按消费顺序裁决:以词定字 > 翻页 / 高亮 > 二三候选。
把 z 配成功能键的代价
字母里只有 z 能写进本表——其余字母在任何码表里几乎都是活码前缀,配了等于把那个字母在该方案里废掉。
配了 z 之后:空缓冲按 z 不受影响,照常起头打编码;被夺走的只有「已经出候选、再按一次 z」那一下。所以五笔那 37 条 zz 开头的标点短语(zzbd、zzsz)就打不出来了——它们正需要这一下。
要的是「空闲时按 z 进某个模式」而不是打字中的功能,请写 key_actions(或方案文件的 z_key_action),那是另一张表。
capslock 会安装全局键盘钩子
Windows 的大小写锁定状态在输入法拿到按键之前就已翻转,常规通路压不住。本表或任何一个方案的 [session_actions] 配了 capslock,程序就会安装一个全局键盘钩子,在系统改状态之前拦下它(打字时才拦,空闲时 CapsLock 照常切大小写);哪儿都没配 capslock 就完全不装这个钩子。副作用:极少数安全软件会对全局键盘钩子告警。
之所以「任何一个方案配了就装」而不是「当前方案配了才装」:钩子是进程级资源,按当前方案装卸会让每次切方案都装一次、卸一次,症状是切完方案 CapsLock 时灵时不灵。方案里把它写成 "none"(显式禁用)则不计入——那种情况下不会为它装钩子。
方案级覆盖 0.118 新增
方案文件(或 schema_overrides\<方案ID>.toml)也能写一份 [session_actions],只在该方案作当前方案时生效,逐键覆盖全局那份:
# 某个特殊语系的方案
[session_actions]
lbracket = "page_prev" # 本方案改用方括号翻页
rbracket = "page_next"
tab = "none" # 本方案关掉全局配的 Tab与 [key_actions] 的覆盖规则完全一致:深合并,只能新增或改写。要在某个方案里关掉一个全局绑定,写显式的 "none"——从覆盖文件里删掉那一行只是回到继承全局,不是禁用。
方案没写的键照常继承全局那份(含 page_keys 等四项折算出来的默认值)。
功能快捷键
[keys]
toggle_toolbar = 'ctrl+shift+\' # 显示/隐藏工具栏
softkeyboard = "ctrl+shift+k" # 显示/隐藏软键盘
open_settings = "ctrl+shift+]" # 打开设置工具
add_word = "ctrl+equal" # 就地加词(从当前组合造词)
open_add_word_dialog = "ctrl+shift+equal" # 打开加词小窗
activate_ime = "ctrl+shift+[" # 切换到本输入法(系统级)
take_screenshot = "ctrl+shift+f11" # 截取输入法自身窗口(取证用)| 键 | 类型 | 默认 | 说明 |
|---|---|---|---|
toggle_toolbar | 热键字符串 | ctrl+shift+\ | 显示/隐藏常驻工具栏 |
softkeyboard 0.120 新增 | 热键字符串 | ctrl+shift+k | 显示/隐藏软键盘面板。清空即禁用(面板仍可从工具栏与主菜单打开)。想给某一个面配直通车用 key_actions 的 softkeyboard:<面id> |
open_settings | 热键字符串 | ctrl+shift+] | 打开设置工具窗口 |
add_word | 热键字符串 | ctrl+equal | 就地加词,仅中文模式生效。该键额外走系统级全局拦截,规避 QQNT / Tabby 等宿主的加速键双处理 |
open_add_word_dialog | 热键字符串 | ctrl+shift+equal | 打开独立加词小窗,仅中文模式生效,同样走全局拦截 |
activate_ime | 热键字符串 | ctrl+shift+[ | 切换到本输入法。经 Windows DirectSwitchHotkeys 注册表交由系统 ctfmon 原生处理(per-app 切换),不经引擎按键分发 |
take_screenshot | 热键字符串 | ctrl+shift+f11 | 截取输入法自己的窗口——候选窗、工具栏、状态提示、悬停提示、右键菜单,逐个存 PNG 到用户目录 screenshots,候选窗那张顺带进剪贴板。这是反馈问题时的取证手段,不是屏幕截图工具。可作全局热键动作。设置页已开放此项 0.121 新增 |
候选置顶与删除
[keys]
pin_candidate = "ctrl+number" # 置顶候选(Ctrl+数字)
delete_candidate = "ctrl+shift+number" # 删除候选(Ctrl+Shift+数字)| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
pin_candidate | 热键字符串(模板) | ctrl+number / ctrl+shift+number / ctrl+alt+number 0.118 新增 | ctrl+number | 对当前页第 N 个候选执行置顶。number 占位符展开为数字键 0–9 |
delete_candidate | 热键字符串(模板) | ctrl+number / ctrl+shift+number / ctrl+alt+number 0.118 新增 | ctrl+shift+number | 对当前页第 N 个候选执行删词。number 占位符展开为数字键 0–9 |
这两项只认固定模板
pin_candidate / delete_candidate 只识别 ctrl+number、ctrl+shift+number、ctrl+alt+number 三种写法(number 代表数字键组);填其它值会被判为无效并忽略,等同于不绑定。
修饰键按完全相同匹配:配成 ctrl+number 时,按 Ctrl+Alt+3 不会触发置顶,而是照旧交给应用处理。
候选选择键组
[keys]
select_key_groups = ["semicolon_quote"] # 次选/三选键组| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
select_key_groups | 字符串数组 | semicolon_quote / comma_period / lrshift / lrctrl | ["semicolon_quote"] | 除数字键外的候选快捷选择键组:每组第 1 键选第 2 个候选、第 2 键选第 3 个候选。可多选,空数组=仅用数字键选词 |
select_key_groups 可选值对照:
| 可选值 | 第 2 候选键 | 第 3 候选键 |
|---|---|---|
semicolon_quote | ; | ' |
comma_period | , | . |
lrshift | 左 Shift | 右 Shift |
lrctrl | 左 Ctrl | 右 Ctrl |
修饰键组(lrshift / lrctrl)在松开时才选词,且只认「轻敲」——按住超过 500 毫秒、
或按下期间碰了别的键,都不算选词。这样 Ctrl+A、Shift+字母 这类组合才不会被误判成选候选。
如果同一个键同时配成了中英文切换键(toggle_mode_keys),裁决是:有候选时选词,
无候选时切中英文;候选数量不足以命中该位次时吞掉该键,既不上屏也不切换
(修饰键没有对应字符,故不套用 [keys.overflow] 的策略)。
翻页与高亮导航
[keys]
page_keys = ["pageupdown", "minus_equal"] # 候选翻页键组
highlight_keys = ["arrows", "tab"] # 候选高亮移动键组| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
page_keys | 字符串数组 | pageupdown / minus_equal / brackets / comma_period / shift_tab | ["pageupdown", "minus_equal"] | 候选窗上一页/下一页键组,可多选 |
highlight_keys | 字符串数组 | arrows / tab | ["arrows", "tab"] | 候选高亮上移/下移键组,可多选 |
page_keys 可选值对照:
| 可选值 | 上一页 | 下一页 |
|---|---|---|
pageupdown | PageUp | PageDown |
minus_equal | - | = |
brackets | [ | ] |
comma_period | , | . |
shift_tab | Shift+Tab | Tab |
highlight_keys 可选值对照:
| 可选值 | 上移 | 下移 |
|---|---|---|
arrows | ↑ | ↓ |
tab | Shift+Tab | Tab |
以词定字
[keys]
select_char_keys = [] # 以词定字键组,默认禁用| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
select_char_keys | 字符串数组 | comma_period / minus_equal / brackets | [] | 用成对标点键从当前高亮候选词中逐字上屏:第 1 键取第 1 字、第 2 键取第 2 字。空数组=禁用。词长不足时按 [keys.overflow].select_char_key 策略处理;没有候选时这几个键回归标点身份,由 input.punct_on_empty_behavior 处置 |
select_char_keys 可选值对照:
| 可选值 | 取第 1 字 | 取第 2 字 |
|---|---|---|
comma_period | , | . |
minus_equal | - | = |
brackets | [ | ] |
全局热键
[keys]
global_hotkeys = [] # 提升为系统级全局热键的动作名列表| 键 | 类型 | 默认 | 说明 |
|---|---|---|---|
global_hotkeys | 字符串数组 | [] | 列出的动作名将经 Win32 RegisterHotKey 注册为系统级热键,使其在任意应用中生效。填的是动作名而非键值,键值仍取各功能字段自身的绑定 |
global_hotkeys 支持的动作名:
| 动作名 | 对应功能 |
|---|---|
switch_engine | 切换方案 |
toggle_full_width | 全/半角切换 |
toggle_punct | 中/英标点切换 |
toggle_toolbar | 显示/隐藏工具栏 |
open_settings | 打开设置 |
take_screenshot | 截图 |
toggle_s2t | 简/繁切换 |
toggle_t2s 0.121 新增 | 繁入简出开关 |
不支持的动作会被忽略
只有上表 8 个动作可放进 global_hotkeys;填写其它名字(含 add_word / activate_ime 等)会被判为不支持并忽略。其中 activate_ime 另有专属系统级通道(DirectSwitchHotkeys 注册表),无需也不能列在此处;add_word 需要当前组合上下文,不参与全局注册。
无效按键策略(keys.overflow)
当按下选择/翻页/以词定字类按键,但候选数量或词长不足以命中目标位次时的处理方式。三项共用同一套枚举。
「一个候选都没有」不归这里管
本节管的是「有候选,但不够到目标位次」。若一个候选都没有——空缓冲,或打了码却没出任何候选(空码,多半是打错了字根)——以词定字用的那几个键(, . - = [ ])就不再算以词定字键,而是回归标点身份,交由 input.punct_on_empty_behavior 处置。所以开不开以词定字,不会改变空码时按这些标点的行为。
[keys.overflow]
number_key = "ignore" # 数字键超出当前页候选数量时
select_key = "ignore" # 次选/三选键候选不足时
select_char_key = "ignore" # 以词定字键候选词长度不足时| 键 | 类型 | 可选值 | 默认 | 说明 |
|---|---|---|---|---|
number_key | 枚举 | ignore / commit / commit_and_input | ignore | 数字键位次超出当前页候选数量时的行为 |
select_key | 枚举 | ignore / commit / commit_and_input | ignore | 次选/三选键(见 select_key_groups)候选不足时的行为 |
select_char_key | 枚举 | ignore / commit / commit_and_input | ignore | 以词定字键(见 select_char_keys)候选词长度不足时的行为 |
枚举取值行为:
| 取值 | 行为 |
|---|---|
ignore | 吞掉该键,不做任何操作(默认) |
commit | 上屏当前高亮的候选 |
commit_and_input | 上屏当前高亮候选,并把该按键对应的字符追加输入 |
相关阅读
对这篇文档有疑问,或发现内容有误?
欢迎到文档仓库提 issue,写明问题时附上本页链接即可。